Created: Updated:

Chatty APIs

API를 디자인하면서 개발자들이 이 API를 어떻게 사용하며, chatty API를 처리하는지 생각해보자.

개발자들이 API를 사용하는 방식을 상상해보면서 리소스와 API를 디자인하라.

특정 사용자 인터페이스, 아이폰 앱 또는 많은 다른 앱을 구축하는 데 API를 사용할 방법을 상상해보자.

일부 API 디자인은 매우 chatty하게 되는데, 이는 간단한 UI 또는 앱을 구축하기 위해 서버에 수십 개 또는 수백 개의 API 호출이 필요할 수 있다는 의미이다.

API 팀은 때로는 멋진 리소스 지향적 RESTful API를 만들지 않고 특정 사용자 인터페이스를 구동하는 데 필요한 3~4개의 Java 스타일 getter 및 setter 메서드를 만드는 방법으로 처리하려고 할 수 있다.

하지만 이것은 권장하지 않는다. RESTful API를 디자인하고 여전히 chattiness를 해결할 수 있다.

완벽하고 RESTful 하며 Shortcuts를 제공하세요.

먼저, 실제 RESTful 설계 원칙에 따라 API와 해당 리소스를 설계한 후에, Shortcuts를 제공하세요.

어떤 종류의 Shortcuts를 제공해야 하나요? 예를 들어, 80%의 앱이 어떤 종류의 복합 응답을 필요로 할 것이라는 것을 알고 있다면, 그들이 필요로 하는 것을 제공하는 요청 유형을 만드세요.

하지만, 전자 대신 후자를 선택하지 마세요. 먼저 좋은 실용적인 RESTful 원칙을 사용하여 디자인하세요!

이전 섹션에서 설명한 partial response syntax를 활용하면 도움이 될 수 있습니다.

한 번에 하나씩의 베이스 URL을 생성하는 것을 피하려면, partial response syntax를 사용하여 의존적이고 연관된 리소스로 계속해서 들어갈 수 있습니다.

예를 들어, 우리 개 API의 경우 개들은 주인과 연관이 있고, 주인은 수의사와 연관이 있습니다. 도트 표기법(dot notation)을 사용하여 필요한 정보만 반환하도록 부분적인 응답 구문 분석을 중첩하여 사용하세요.

부분 응답 구문 활용

이전 섹션에서 설명한 부분 응답 구문을 활용하면 도움이 될 수 있습니다.

한 번에 하나씩의 기본 URL을 생성하는 것을 피하려면, 부분 응답 구문을 사용하여 의존적이고 연관된 리소스로 계속해서 들어갈 수 있습니다.

예를 들어, 우리 개(dog) API의 경우 개들은 주인과 연관이 있고, 주인은 수의사와 연관이 있습니다. 도트 표기법(dot notation)을 사용하여 필요한 정보만 반환하도록 부분적인 응답 구문 분석을 중첩하여 사용하세요.

/owners/5678?fields=name,dogs.name

댓글남기기