차례:
소프트웨어 개발의 본질입니다. 개발자는 최종 사용자를 염두에두고 소프트웨어를 만듭니다. 꽤 단순 해 보이지만 때로는 이러한 사용자가 동료 개발자이기도합니다. 그들은 그들을 위해 세분화 된 것이 필요하지 않습니다. 단순성도 필요하지 않습니다. 그들이 원하는 것은 액세스-소프트웨어와 소프트웨어를 통합하는 방법입니다. API (application programming interface)가 등장합니다. 성공적인 API를 만들기 위해 취할 수있는 5 가지 단계를 강조하겠습니다.
너의 숙제를해라
소프트웨어 개발과 관련하여 우리 중 누구도 바퀴를 재발 명하기를 원하지 않습니다. 이 시점에서 거의 모든 대기업에 소프트웨어 제품 용 API가 있습니다. 이러한 API를 연구하고이를 작성하는 데 따른 다양한 설계 결정을 선택하십시오.
다양한 기술이 있지만 대부분의 API는 RESTful 인터페이스 또는 SOAP를 사용하게됩니다. 어떤 API 인터페이스를 사용할지 결정하고 있다면 HTTP 프로토콜을 사용하여 RESTful 접근법을 사용하는 것이 좋습니다. SOAP보다 간단하고 현재 널리 사용되며 웹 기반 소프트웨어 제품을 사용할 때 시작하기가 더 쉬울 것입니다.
일관성을 유지하십시오
개발자가 가장 높이 평가하는 것 중 하나는 일관성입니다. 여기에는 특히 주소 지정 가능성, 입력 인수, 출력 형식 및 오류 처리가 포함됩니다.
RESTful 접근 방식을 사용하는 경우 다양한 URI 이름 지정 체계가 있습니다. 각각에는 지지대가 있으므로 하나만 골라 붙입니다. 입력 및 출력 구조도 마찬가지입니다. 대부분의 API는 XML 및 JSON을 입력 및 출력 형식으로 사용하도록 지원합니다. 둘 다 지원하지만 기본 형식을 선택하는 것이 좋습니다.
입력의 경우 입력 요구 사항의 이름을 일관되게 지정해야하며 작성중인 API 호출의 맥락에서 이해해야합니다. 출력을 위해 공통 데이터 구조 레이아웃을 사용하고 있는지 확인하십시오. 한 API 호출의 출력을
클라이언트로 다시 보내는 출력 데이터에 일종의 상태 플래그를 포함시키는 것이 일반적입니다. RESTful API 접근 방식을 사용하는 경우 HTTP 상태 코드를 사용하여 수행해야합니다. 예를 들어 기존 데이터 객체에서 PUT 요청을 방금 처리 한 경우 응답에 포함하는 HTTP 상태 코드는 요청 결과에 따라 달라집니다.
호출 상태를 나타내는 임의의 플래그 대신 표준 "200 OK"상태 코드를 사용하여 요청이 성공했음을 나타내고 "400 Bad Request"상태 코드를 사용하여 요청이 있었음을 나타냅니다. 흉하게 생긴. 다른 상황에서 사용할 수있는 HTTP 상태 코드는 꽤 있습니다.
OAuth 사용
대부분의 소프트웨어 제품에는 해당 사용자의 보호 된 리소스에 액세스하기 위해 일종의 사용자 인증이 포함됩니다. API와 관련하여 클라이언트가 사용자 자격 증명을 수집하여 서버로 보내는 것은 나쁜 습관입니다. OAuth가 들어오는 곳입니다.
OAuth는 타사 사용자 이름 / 암호 인증에 비해 많은 이점을 제공합니다. 무엇보다도 클라이언트는 사용자의 자격 증명에 액세스 할 수 없습니다. 사용자는 로그인 할 때 서버로 리디렉션됩니다. 사용자가 사이트에 로그인하면 클라이언트로 다시 리디렉션되어 클라이언트는 나중에 보호 된 리소스에 대한 요청에 사용할 액세스 토큰을 받게됩니다.
OAuth 사용의 또 다른 중요한 이점은 사용자가 언제든지 클라이언트 액세스를 취소 할 수 있다는 것입니다. 사용자가 어떤 이유로 든 더 이상 클라이언트가 자신을 대신하여 보호 된 리소스에 액세스 할 수 없게하려면 사용자가 만든 인터페이스로 이동하여 클라이언트 액세스를 취소하면됩니다.
일찍 시작
API를 성공시키기 위해 할 수있는 가장 중요한 것 중 하나는 일찍 시작하는 것입니다. 데이터베이스에서 일부 항목을 작성하기 위해 해당 함수를 작성할 때 추가 시간이 걸리고 API 인터페이스를 작성하십시오.좋은 문서 작성
좋은 문서가없는 것보다 API를 더 빨리 죽이는 것은 없습니다. 일부 개발자는 제대로 문서화되지 않은 API를 사용하여 작동 방식을 파악할 수 있지만 대부분 원하지 않습니다.
사용 가능한 모든 API 호출을 문서화하고 API 호출을 수행하는 데이터 유형별로 분류해야합니다. API 호출 자체에 대한 엔드 포인트를 문서화하는 동시에 출력 데이터 구조뿐만 아니라 필수 및 선택적 입력 인수를 체계적으로 정의해야합니다. 입력 인수는 기본값이있을 경우 기본값을 나열해야하며 숫자 또는 문자열과 같은 예상 데이터 형식도 나타냅니다. 마지막으로 모든 API 호출에는 오류 조건 및 상태 코드 목록이 있어야합니다.
문서를 정리하려면 각 API 호출에 대한 일반적인 입력 및 출력 시나리오에 대한 하나 또는 두 개의 예제를 포함하십시오.
API 개발 : 단순하게 유지
API 개발은 복잡한 노력으로 보이지만 API 자체에 대한 아이디어는 새로운 개념이 아니며 여기서 다루는 각 주제에 대한 많은 양의 문서가 있습니다. 좋은 사례를 찾을 수있는 곳에서 사용하고 일관성 있고 문서화 된 인터페이스를 제공하십시오.