«api-design» 태그된 질문

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

6
충돌하는 기능 매개 변수를 처리하기위한 패턴이 있습니까?
지정된 시작 및 종료 날짜를 기준으로 총 금액을 월별 금액으로 분류하는 API 함수가 있습니다. // JavaScript function convertToMonths(timePeriod) { // ... returns the given time period converted to months } function getPaymentBreakdown(total, startDate, endDate) { const numMonths = convertToMonths(endDate - startDate); return { numMonths, monthlyPayment: total / numMonths, }; } …
38 api-design 

5
REST 표준을 의도적으로 위반하는 아키텍처 변경을 설명하는 방법은 무엇입니까?
여러 가지 문제로 어려움을 겪고있는 잘못 설계 한 소프트웨어 프로젝트에 대한 변경을 제안하고 있습니다. 높은 수준에서 프로젝트는 프론트 엔드에서 Angular를 사용하고 다양한 REST API를 소비합니다. 그것은 모두 훌륭합니다 (우리의 기술이나 도구를 변경할 필요가 없습니다). 문제는 코드 기반이 서버 측 API보다 UI에서 불균형 적으로 크다는 것입니다. 대부분의 비즈니스 로직은 UI에 있으며 …

3
REST API-API가 중첩 JSON 객체를 반환해야합니까?
JSON API와 관련하여 응답을 평평하게하고 중첩 된 JSON 객체를 피하는 것이 좋습니다. 예를 들어 IMDb와 유사하지만 비디오 게임용 API가 있다고 가정하겠습니다. 게임 및 플랫폼을 매핑하는 몇 가지 엔티티 인 Game, Platform, ESRBRating 및 GamePlatformMap이 있습니다. / game / 1을 요청하여 ID가 ​​1 인 게임을 가져오고 플랫폼과 esrbRating이 중첩 된 게임 …
37 design  rest  api-design  json 

6
HTTP API는 항상 본문을 반환해야합니까?
HTTP API 응답에 관한 표준이 있습니까? 이 담화 실을 읽은 후 나는 궁금해하기 시작했다. 우리는 직장에서 공개 HTTP JSON API를 개발 중이며 엄격하게 필요하지 않은 경우 아무것도 반환하지 않습니다 (예 : PUT / resource / {id}는 OK 또는 해당 4XX 또는 5XX 코드 일 때 200 만 반환하지만 JSON 본문) …
33 rest  api-design  http 

10
Math.Sqrt ()가 정적 함수 인 이유는 무엇입니까?
정적 및 인스턴스 메소드에 대한 토론에서 항상 Sqrt()정적 메소드 대신 숫자 유형의 인스턴스 메소드 여야 한다고 생각 합니다. 왜 그런가요? 그것은 분명히 가치에 작용합니다. // looks wrong to me var y = Math.Sqrt(x); // looks better to me var y = x.Sqrt(); 많은 언어에서와 같이 값 유형에는 인스턴스 메소드가있을 수 …

4
마이크로 서비스는 서로 대화해야합니까?
Micro-Services를 사용하여 응용 프로그램을 설계하고 있으며 여러 서비스에서 데이터를 수집하는 데 사용할 수있는 최상의 메커니즘이 확실하지 않습니다. 두 가지 옵션이 있다고 생각합니다. 서비스가 직접 대화 할 수있는 '서비스 간'통신 메커니즘을 통합합니다. API Gateway는 개별 서비스를 호출 한 다음 통합 된 응답을 API Gateway로 반환하기 전에 다른 서비스를 호출하여 데이터를 수집합니다. …

7
타입 세이프 구조체 포인터 대신 퍼블릭 API로 캐스팅해야하는 불투명 한 "핸들"을 사용해야하는 이유는 무엇입니까?
공용 API가 현재 다음과 같은 라이브러리를 평가하고 있습니다. libengine.h /* Handle, used for all APIs */ typedef size_t enh; /* Create new engine instance; result returned in handle */ int en_open(int mode, enh *handle); /* Start an engine */ int en_start(enh handle); /* Add a new hook to the engine; …

3
새로운 시스템에 예약 할 일반적인 사용자 이름 목록이 있습니까?
이 질문은 Software Engineering Stack Exchange에서 답변을 얻을 수 있기 때문에 Stack Overflow에서 마이그레이션 되었습니다. 8 년 전에 이주했습니다 . 새 웹 사이트에서 사용자 이름을 예약해야합니다. 이들은 일반적으로 세 가지 범주로 나뉩니다 1) 사용자 이름이 없어야합니다 (예 : 관리자, 사용자, 서비스, 도움말, 루트 등) 2) 초대 유명인 또는 회사가 나타날 …

4
마이크로 서비스 및 데이터 스토리지
모 놀리 식 REST API를 마이크로 서비스 아키텍처로 옮기는 것을 고려 중이며 데이터 스토리지에 대해 약간 혼란스러워지고 있습니다. 내가 본 것처럼 마이크로 서비스의 장점은 다음과 같습니다. 수평 확장 가능-로드 및 / 또는 서버 다운에 대처하기 위해 여러 개의 중복 마이크로 서비스 사본을 실행할 수 있습니다. 느슨하게 결합-다른 것을 변경하지 않고도 …

3
RESTful API : 공유 또는 특정 URL을 가진 HTTP 동사?
RESTful API를 작성하는 동안 동일한 URL에 HTTP 동사를 사용해야합니까 (가능한 경우) 또는 조치 당 특정 URL을 작성해야합니까? 예를 들면 다음과 같습니다. GET /items # Read all items GET /items/:id # Read one item POST /items # Create a new item PUT /items/:id # Update one item DELETE /items/:id # Delete …

3
JSON API에서 HTML을 반환해도 괜찮습니까?
현재 프로젝트에서 JSON을 지원하는 것으로 문서화 된 새로 생성 된 RESTful API의 소비와 관련된 서비스 구현을 책임지고 있습니다. 클라이언트는 'application / json'의 승인 헤더와 'application / json'의 컨텐츠 유형을 사용하여 지속적으로 요청합니다. 그러나 일부 엔드 포인트는 컨텐츠 유형의 HTML, 심지어 HTML 본문으로 응답을 보냅니다. 나에게 이것은 분명히 잘못된 접근법이며 결코 …

10
API 디자인 : 구체적 vs 추상 접근-모범 사례?
시스템 간 (비즈니스 레벨에서) API를 논의 할 때, 우리 팀에는 종종 두 가지 관점이 있습니다. 어떤 사람들은 일반적인 추상 접근 방식을 선호하고 다른 하나는 "구체적인"접근 방식을 선호합니다 . 예 : 간단한 "개인 검색"API 설계. 구체적인 버전은 searchPerson(String name, boolean soundEx, String firstName, boolean soundEx, String dateOfBirth) 구체적인 버전을 선호하는 사람들은 …

4
API를 만들 때 작은 함수와 많은 호출 또는 몇 개의 호출과 큰 함수를 사용해야합니까?
유지 관리하는 레일 플랫폼이 있습니다. 그 위에 다양한 웹 응용 프로그램이 구축되어 있습니다. 그러나 이제 고객은 사이트에 사용자를 유지할 수는 있지만 자동화 된 일부 작업을 활용할 수 있도록 API를 요청하고 있습니다. 이 플랫폼은 보험 응용 프로그램을 작성하고 온라인으로 구매할 수있을뿐 아니라 정책과 관련된 문서를 다운로드 할 수있는 방법을 제공합니다. 따라서 …

2
내 HTTP 상태 코드를 구성해야합니까? (la Twitter 420 : 진정 향상)
이 질문은 Software Engineering Stack Exchange에서 응답 할 수 있기 때문에 서버 결함에서 마이그레이션 되었습니다. 6 년 전에 이주했습니다 . 저는 현재 처음으로 HTTP API를 구현하고 있습니다. 올바른 상황에 적합한 코드를 구현하기로 결정했기 때문에 Wikipedia 페이지에서 HTTP 상태 코드를 보는 데 많은 시간을 소비했습니다. 이 페이지에는 번호 420의 코드가 있는데,이 …
24 api-design  http 

3
"계획 한계 초과"응답에 대한 권장 HTTP 상태 코드
사용자가 항상 여러 "계획"중 하나에있는 프로젝트를 위해 REST API를 설계하고 있습니다. 각 계획은 계정에 보유 할 수있는 최대 사용자 수 또는 업로드 할 수있는 최대 데이터 수와 같은 일부 리소스 제한을 정의합니다. 이러한 제한 중 하나에 도달하면 사용자는 계획을 업그레이드 (필수적으로 지불)하여 더 많은 리소스를 얻을 수 있습니다. 계정 리소스 …
24 rest  api-design  http 

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