«api-design» 태그된 질문

API (Application Programming Interface) 디자인에서는 범용 또는 공용으로 사용되는 라이브러리를 만들기위한 모범 사례에 대해 설명합니다.

6
훌륭한 API의 공통점은 무엇입니까? [닫은]
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 휴일 육년 전 . 잠김 . 이 질문과 주제는 주제가 다르지만 역사적 의미가 있기 때문에이 질문과 답변은 잠겨 있습니다. 현재 새로운 답변이나 상호 작용을받지 않습니다. API를 훌륭하게 만드는 훌륭한 API는 무엇입니까? 나는 "한 가지 일을 잘해라"라는 진언을 고수하는 것이 좋은 …
15 api-design 

7
클라이언트 응용 프로그램에서 사용자 인증을 설계하는 방법은 무엇입니까?
많은 사용자를 지원하는 응용 프로그램을 개발하고 있습니다. 문제는 클라이언트 / 사용자를 인증하는 방법을 알 수 없다는 것입니다. http://quickblox.com/ 과 같은 응용 프로그램 을 만들고 있는데 사용자에게 자격 증명을 제공하고 인증을 위해 사용자 이름과 암호를 넣을 수없는 N 응용 프로그램 을 빌드하는 데 사용 합니다. 다음과 같이 진행한다고 가정 해 봅시다. …

1
REST 모델에서 자원을 중첩하는 올바른 방법은 무엇입니까?
REST API 서비스를 설계하고 자원을 중첩시키는 올바른 방법을 고수했습니다. 리소스 : 파트너, 티켓, 설정 자원 간 연결 : 파트너에게 많은 티켓이 있습니다. 파트너에게는 설정이 있으며 탈취 논리 : 모든 파트너를 익명 사용자로 표시 할 수 있습니다. 익명의 사용자로 지정된 파트너에 새 티켓을 추가 할 수 있습니다. 파트너 만 자신의 티켓을 …
14 api  rest  api-design 

5
API 디자인에서 언제 임시 다형성을 사용하거나 피할 수 있습니까?
Sue는 JavaScript 라이브러리를 디자인하고 있습니다 Magician.js. 린치 핀은 Rabbit전달 된 인수 에서 벗어나는 함수입니다 . 그녀는 사용자가 토끼를 String, a Number, a Function, 아마도조차 꺼내려고 할 수도 있다는 것을 알고 있습니다 HTMLElement. 이를 염두에두고 다음과 같이 API를 디자인 할 수 있습니다 . 엄격한 인터페이스 Magician.pullRabbitOutOfString = function(str) //... Magician.pullRabbitOutOfHTMLElement = …

3
백엔드 ID가 공개 API이어야합니까?
이 사람의 말을 바탕으로 : http://toddfredrich.com/ids-in-rest-api.html 그가 API 자원을 식별하기 위해 UUID를 사용하는 것이 옳다고 가정합시다. 그런 다음 그런 식으로 구현하려고하면 문제가 발생합니다. class FooEntity { final String id = null; //auto-generated by my backend (mongodb), not shared final UUID uid = UUID.randomUUID(); //the resource id } 클라이언트와 서버 간에는 …

4
DTO에 대한 구성 및 상속 사용
단일 페이지 응용 프로그램에 REST API를 제공하는 ASP.NET 웹 API가 있습니다. DTO / POCO를 사용하여이 API를 통해 데이터를 전달합니다. 문제는 이제 이러한 DTO가 시간이 지남에 따라 커지고 있다는 점입니다. 이제 DTO를 리팩토링하려고합니다. DTO 디자인 방법에 대한 "모범 사례"를 찾고 있습니다. 현재 가치 유형 필드로만 구성된 작은 DTO가 있습니다. public class …
13 rest  api-design  web-api  dto  poco 

1
언제 AtomPub를 사용해야합니까?
RESTful 웹 서비스 디자인에 대한 연구를 진행해 왔으며 핵심 결정 사항이라고 생각하는 것에 도달하여 조언을 구하기 위해 커뮤니티에 제안 할 것이라고 생각했습니다. RESTful 아키텍처의 원칙에 따라 검색 가능한 API를 제시하고자하므로 다양한 HTTP 동사를 최대한 완벽하게 지원할 것입니다. 저의 어려움은 그러한 자원의 표현을 선택하는 데 있습니다. 알다시피, 검색 결과가 표시되는 방법과 …

8
비동기 함수를 노출하는 인터페이스가 누출 추상입니까?
나는 Dependency Injection Principles, Practices and Patterns 책을 읽고 있으며,이 책 에 잘 설명되어있는 누출 추상화 개념에 대해 읽었습니다. 요즘 나는 의존성 주입을 사용하여 C # 코드베이스를 리팩토링하여 비동기 호출이 차단 호출 대신 사용되도록합니다. 그렇게하면 코드베이스에서 추상화를 나타내는 일부 인터페이스를 고려하고 비동기 호출을 사용할 수 있도록 다시 디자인해야합니다. 예를 들어, …

3
계층 적 데이터를위한 플랫 또는 중첩 JSON?
나는 이미 ~ 5 번 앞뒤로 전환했습니다. 이 REST 엔드 포인트는 /api/tags/내부 용 (타사 클라이언트 없음)을위한 것이므로이 작업을 수행하는 유일한 사람입니다. 이 두 표현을 결정하고 있습니다. 플랫 { "types":[ { "id":1, "text":"Utility" }, { "id":7, "text":"Lease Terms" }, ], "tags":[ { "id":8, "text":"Water", "type":1 }, { "id":9, "text":"Electricity", "type":1 }, …
12 rest  api-design  json 

2
알 수없는 매개 변수를 허용해야합니까?
RESTful API를 디자인하고 제목 문제에 직면하여 명확성을 위해 다시 작성되었습니다. 클라이언트가 인식 할 수없는 매개 변수를 보내면 빨리 실패해야합니까? 예를 들어 http://example.com/api/foo?bar=true&paula=bean 위의 bar매개 변수는 유효한 매개 변수이지만 paulaAPI에서 지정하지 않았습니다. 내가해야합니까 클라이언트에게 오류 경고 빨리 실패 무시해 클라이언트에 경고하면 거의 무한한 수의 매개 변수를 보낼 수 있고 서버에 더 …
12 rest  api-design 

1
포트에서 관용구를 사용하여 API 유지
Python에서 Rust까지의 포트에서 작업 중이며 Python 에서처럼 Rust에서 자연스럽게 표현할 수없는 코드가 발생했습니다. 한 가지 경우는 기본 매개 변수를 사용하는 것입니다. class Foo: def __init__(self, a="Hello"): self._a = a Rust에서는 빌더를 사용하여이를 구현할 수 있습니다. struct FooBuilder { a: &'static str, } struct Foo { _a: &'static str } impl …

2
RESTful API에서 명령 패턴 구현
HTTP API를 디자인하는 과정에서 가능한 한 RESTful하게 만들었습니다. 기능이 몇 가지 리소스에 퍼져있는 작업이 있으며 언젠가 취소해야합니다. 제 생각에 이것은 명령 패턴처럼 들리지만 어떻게 리소스로 모델링 할 수 있습니까? DepositAction과 같은 XXAction이라는 새로운 리소스를 소개합니다. POST /card/{card-id}/account/{account-id}/Deposit AmountToDeposit=100, different parameters... 실제로 새 DepositAction을 작성하고 Do / Execute 메소드를 활성화합니다. 이 …

2
C ++ 라이브러리 API 디자인
나는 C ++ 라이브러리를위한 좋은 API 디자인, 공유 객체 / DLL 등을 배우기위한 좋은 자료를 찾고 있습니다. 좋은 API, 멋진 클래스, 템플릿 등을 소스 수준에서 작성하는 데는 많은 자료가 있지만 거의 아무것도 없습니다. 공유 라이브러리와 실행 파일로 구성 John Lakos의 Large-Scale C ++ Software Design과 같은 책은 흥미롭지 만 엄청난 …

2
자식 개체를 게시하고 모든 부모의 자식을 모두 가져 오기 위해 API 끝점을 디자인하는 방법은 무엇입니까?
예를 들어 클라이언트, 보고서 엔티티가 있습니다. 고객에게 많은 보고서가있을 수 있으며 단일 보고서 관리에 대한 끝 점이 다음과 같이 중첩되어야한다고 생각합니다. /clients/{client_id}/reports/{report_id} 한 고객의 모든 보고서에 대해서는 다음과 같이 지적합니다. /clients/{client_id}/reports 그러나 모든 클라이언트의 모든 보고서가 API를 일관되고 잘 설계되도록하기 위해 어떻게 엔드 포인트를 찾아야합니까? 내 접근 방식 : (구글 …
12 rest  api  api-design 

3
JSON 키에 하이픈을 사용하는 것은 나쁜 습관입니까?
하이픈 (kebab-case)을 사용하는 JSON 키에 액세스하는 것과 관련하여 많은 질문이 있지만 이제는 키에서 camelCase 또는 snake_case를 고수 해야하는지 궁금합니다. 하이픈은 언어간에 이식 될 때 복잡한 매핑을 만들 수도 있다는 것을 알고 있습니다. 일부 JSON deserialize 라이브러리가 해당 키를 camelCase 스타일로 변환하는 것을 보았습니다. 예: var something = { "some-value": 'thing' …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.