«api-design» 태그된 질문

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

4
MVC 및 RESTful API 서비스
MVC는 매우 간단합니다. 모델, 컨트롤러 및 뷰가 있습니다. 웹 사이트를 만들 때 ' client가 REST 키워드 요청을 서버로 전송-> 서버가 요청한 URL을 컨트롤러 작업과 일치-> 데이터 수집 / 처리를 위해 모델을 호출하여 결과를 얻음 으로써 모든 웹 사이트가 함께 제공됩니다. -> 결과를 ​​HTML 페이지 (보기) ' 로 클라이언트에 다시 반환합니다 …

3
비 CRUD 작업을 처리하기 위해 REST API를 설계하는 방법은 무엇입니까?
SOAP 기반 서비스 세트를 RESTful API로 변환하려고합니다. 작업 이름을 분석하여 리소스를 식별하는 것으로 시작했으며 리소스를 얻었습니다 Subscription. 구독 상태를 업데이트해야 할 때 POST리소스에 직접 액세스 할 수 없기 때문에 서버에 요청을 보낼 수는 없지만 속성을 업데이트하려면 RPC 스타일 작업을 호출해야합니다. 또한 구독 상태를 "active"로 변경하는 경우에만 외부 서비스에 대한 추가 …

3
직관적이지 않은 C # String.Split () 구현의 이유
C # string에서 다른 것으로 나누려면 string다음과 같이해야합니다. testString.Split(new string[] { "anotherString" }, StringSplitOptions.None); 오버로드 된 String.SplitMSDN Documentation에서 구현과 호출이 필요한 이유를 확인할 수 있습니다. 파이썬 에서 왔을 때 , 왜 그러한 호출이 필요한지 올바르게 이해하기가 어렵습니다. 필자 Regex.Split는 파이썬 구현과 비슷한 구문을 얻는 데 사용할 수 있지만 간단한 작업 …

2
경보 시스템 아키텍처
다양한 프로그램의 경고 메시지를 처리하고 전자 메일을 통해 소비자에게 바람을 불어 넣을 수있는 시스템을 만들고 싶습니다. 이것은 모두 하나의 내부 네트워크를 통해 포함됩니다. 기본 아키텍처가 다음과 같이 보이기를 원합니다. 내가 현재 가지고있는 주요 관심사는 "메시지 처리기"비트인데, 이는 "API 정렬"입니다. 이 시스템의 모든 구성 요소가 데이터베이스에 대한 모든 쓰기를 처리하는 API로 …

1
Null 안전 연산자 (예 : "Elvis 연산자")가 Java 7의 "프로젝트 코인"의 일부로 거부 된 이유는 무엇입니까?
Java 7의 "Project Coin"에 제안 된 기능 중 하나는 "Elvis operator"입니다. 2009 자바 원 프리젠 테이션의 보고서 프로젝트 동전에 같은 묘사 : 이 프레젠테이션에서 다루는 "작은 기능"중 하나는 소위 "엘비스 연산자"인데, 이는보다 간결한 3 진 연산자 버전입니다. 전통적인 Java를 사용할 때 Groovy의 일부 기능이 누락되어 있으며 두 언어 모두 추가 …
10 java  api-design 

4
오류 메시지에 관련 문서에 대한 링크를 포함 하시겠습니까?
외부 개발자가 사용하는 상용 라이브러리 및 코드 예제를 만듭니다. 라이브러리 사용 방법을 광범위하게 설명하는 문서 (등록 된 사용자에게 제공)가 있습니다. 많은 개발자가 처음 사용자이므로 많은 기본적인 오류가 발생합니다. 오류 로그에 문서에 대한 링크를 포함시키는 것이 적절합니까? 가능한 단점은 무엇입니까? 몇 가지 예견 할 수 있지만 다음을 극복하는 것이 가능해 보입니다. …

2
Oracle Java 학습서에서 "논쟁"이라고하는 확인 된 및 확인되지 않은 예외가 왜 발생합니까?
나는 Java를 처음 사용 하고 예외에 대한 문서를 읽고있었습니다 . , 특히 확인되지 않은 예외-논쟁 페이지. 결론은 다음과 같습니다. 클라이언트가 예외로부터 적절히 복구 될 것으로 예상되는 경우이를 확인 된 예외로 만듭니다. 클라이언트가 예외에서 복구 할 작업을 수행 할 수 없으면 검사되지 않은 예외로 만드십시오. 기사를 이해하지 못합니다. “논쟁”이란 무엇입니까? 간단한 …

2
'Law of Demeter'는 공개 / API 메소드 서명에 적용 가능합니까?
이러한 메소드를 사용하는 클라이언트 코드를 손상시키지 않기 위해 API / 공용 메소드 서명의 변경이 최소화되어야한다는 점을 감안할 때 Demeter of Law 가 적용되지 않는지 궁금했습니다 . 간단한 예 : class Account() { double balance; public void debit(Transaction t) { balance -= t.getAmount(); } } debit 메소드는 단지 두 배의 금액이 …

5
C의 API 디자인 함정
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 3 년 전 . C API (표준 라이브러리, 타사 라이브러리 및 프로젝트 내부의 헤더 포함)에서 문제를 일으키는 몇 가지 결함은 무엇입니까? …
10 c  api-design  pitfalls 

2
부모 리소스를 찾을 수 없을 때 POST에 적합한 응답 상태 코드는 무엇입니까?
나는 다음 끝점을 가지고 있습니다. a/{id}/b bwith with 보내는 POST요청 을 작성하려고 합니다. 만약 a주어진와 {id}내가 함께은 응답해야 찾을 수 없습니다 404 NOT_FOUND또는 어쩌면로 409 CONFLICT? 평범한 것을 다루는 a/{id}것이 중요합니다. 여기서는 하위 리소스가 사용됩니다.

2
API의 무단 사용을 피하는 방법은 무엇입니까?
파트너가 UI를 표시하고 API를 호출하기 위해 웹 사이트에 포함 할 스크립트 인 "위젯"을 디자인해야합니다. 기본적으로 API 호출에서 제공하는 일부 ID를 기반으로 이러한 사이트에 데이터를 표시합니다. 우리가 피하고 싶은 것은 API를 남용하고이를 사용하여 카탈로그 전체를 긁어내는 것입니다. 스크립트를 포함하는 각 파트너에게는 API를 호출 할 때 제공해야하는 공개 키가 제공됩니다. 스크립트를로드 할 …

3
구문 분석 오류가 발생할 경우 자세한 정보를 제공하는 TryParse 메서드를 어떻게 디자인합니까?
사용자 입력을 구문 분석 할 때 일반적으로 예외를 throw하지 않고 확인 메소드를 사용하는 것이 좋습니다 . .NET BCL에서 이는 예를 들어 int.Parse(유효하지 않은 데이터에 대해 예외가 발생 함)과 int.TryParse( false유효하지 않은 데이터가 반환 됨)의 차이입니다. 나는 내 자신을 디자인하고 있습니다 Foo.TryParse(string s, out Foo result) 메서드와 반환 값이 확실하지 않습니다. …
9 c#  .net  api-design 

3
API 객체 정의에 타사 참조 ID를 속성으로 포함시키는 것은 나쁜 습관입니까?
이처럼 : Campaign: type: object properties: id: type: string description: "A GUID identifier" referenceId: type: string description: "A consumers identifier they have used to map their own systems logic to this object." name: type: string description: "'Great Campaign 2017' as an example" referenceId가 걱정 됩니다. 시스템 도메인은 다양한 형식 (xml, …

2
유한 옵션 세트에 추가; API 주요 변경 사항?
다음 응답 모델을 추출하는 HTTP API 엔드 포인트를 가져 오십시오. { "type": "Dog", "name": "Jessi", ... } 이 type필드는 설명서 Dog에서 Cat또는 중 하나 인 것으로 설명되었습니다 Fish. 새로운 옵션을 추가하는 Rat것이 API의 주요 변경으로 간주됩니까? 유한 목록에 옵션을 추가합니까 (개발자가 켤 수있는) API의 확장 또는 수정으로 간주됩니까?
9 rest  api  api-design  json 

3
REST 용어에서 자원과 표현의 차이점은 무엇입니까?
REST에 대한 내 이해는 모델링 서비스 작업을 상태 표현으로 사용하고 HTTP를 사용하여 한 상태에서 다른 상태로 전환하는 것입니다. 나는 커뮤니티가 잘 존중하는 현명한 개발자 / 건축가 인 지미 보가드 (Jimmy Bogard) 의이 기사 를 읽었을 때까지 리소스를 서비스 측 상태의 표현으로 항상 이해했습니다 . 해당 게시물에서 특정 진술을 인용하려면 표현은 …
9 rest  api  api-design 

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