REST와 RESTful API 개발의 기본
웹 개발자는 자주 이야기하고 있습니다. REST 원칙 및 RESTful 데이터 아키텍처, 현대 발전의 중요한 측면이기 때문에 때로는 혼란 스러울 수 있습니다. REST는 자체 기술이 아니라 오히려 특정 조직적 원칙을 가진 API를 만드는 방법. 이러한 원칙은 개발자를 안내하고 API 요청을 처리하기위한보다 보편적 인 환경을 조성하는 것입니다..
이 포스트에서, RESTful 개발 관행을 조감도에서 설명하고 싶습니다. 나는 태클하고 싶다. 그만큼 뭐 오히려 방법. 두 영역 모두를 다루 겠지만이 게시물은 웹 개발에 참여한 모든 사람들을 대상으로 작성되었지만 단순히 REST API 개념을 이해할 수는 없습니다..
웹 개발자를위한 REST
약어 REST는 약자입니다. Representational State Transfer. 이것은 다소 혼란 스러울 수 있으며, 위키 항목은 훨씬 더 혼란스럽게 만듭니다. 그러나 용어를 단순화하는 것이 가능합니다..
REST는 단지 시리즈입니다. 데이터 전송에 사용되는 지침 및 아키텍처 스타일. 일반적으로 웹 응용 프로그램에 적용되지만 데이터를 소프트웨어로 전달할 수도 있습니다..
약어 API는 Application Programming Interface의 약자로, 다른 라이브러리 또는 응용 프로그램과 연결. Windows에는 여러 개의 API가 있고 Twitter에는 웹 API가 있지만 각기 다른 목표로 다른 작업을 수행합니다..
RESTful API는 모두 함께 결합하여 REST 아키텍처를 따르는 API입니다..
REST 아키텍처 란 정확히 무엇인가??
이것은 구체적으로 설명하기가 어려운 곳입니다. 그러나 다음과 같은 몇 가지 건축 상수가 있습니다.
- 일관성 전체 API에 걸쳐
- 상태없는 존재, 즉 서버 측 세션 없음
- 사용 HTTP 상태 코드 적절한 곳에서
- 사용 URL 끝점 논리적 계층 구조
- URL의 버전 관리 HTTP 헤더가 아닌
혼란을 야기 할 수있는 W3C HTML5 스펙과 REST 용어에 관한 불확실성의 혼란과 같은 지나치게 구체적인 지침은 없습니다..
또한 위의 목록 어렵고 빠른 규칙으로 간주해서는 안된다., 비록 그들이 가장 현대적인 RESTful API에 사실 임에도 불구하고.
REST는 경량 방법론 HTTP 데이터에 완벽하게 적용됩니다. 이것이 REST가 웹에서 인기가 많은 이유이며 API 개발을위한 최선의 선택으로 널리 간주되는 이유입니다.
Vinay Sahni가 말한 것처럼, “API는 개발자의 UI이다..” 모든 것이 사용하기 쉬워야하며 훌륭한 사용자 경험을 제공해야합니다. RESTful API는이를 수행하는 것을 목표로합니다..
RESTful API를위한 주요 요점
이 팁은 API의 맥락에 있습니다. 엄격하게 웹 애플리케이션 용. 이것은 HTTP는 필수 조건입니다., 종종 API 데이터는 외부 서버에서 호스팅됩니다.. RESTful API가 API 사용자 측에서 어떻게 작동하는지 살펴 보겠습니다..
API 사용자는 외부 API 서버에 연결하는 스크립트를 작성한 다음, 필요한 데이터가 HTTP를 통해 전달되는 웹 개발자입니다. 개발자는 웹 사이트에 데이터를 표시 할 수 있습니다. 외부 서버에 개인적으로 액세스하지 않고 (Twitter 데이터를 가져 오는 것과 같이).
일반적으로 말하기 4 개의 명령 사용 RESTful API에 액세스:
도망
객체 검색 용우편
새 객체 만들기놓다
물체를 수정하거나 대체하기위한 것지우다
물체를 제거하기위한
각 방법은 다음과 같아야합니다. API 호출과 함께 전달됨 서버에게 무엇을 해야할지 알려주기.
대다수의 웹 API 오직 허용하다 도망
요청 외부 서버에서 데이터를 가져옵니다. 인증은 선택 사항이지만 잠재적으로 피해를주는 명령을 허용 할 때 좋은 생각입니다. 놓다
또는 지우다
.
그러나 RESTful API가 많지는 않습니다. Pokéapi 무료 API 데이터베이스 인 Pokéapi를 고려하십시오. 알맞은 속도 제한 (일정 기간 동안 특정 API 요청 횟수로 사용자 제한)을 사용하여 일반인에게 공개되지만 도망
자원에 액세스하는 방법. 이것은 구어체로 불릴 수 있습니다. 소비 전용 API.
반환 유형 또한 중요하며 균질성을 유지하다 모든 자원에 대해. JSON은 올바른 데이터 구조를 설명하는 온라인 사양의 인기있는 반환 유형입니다..
RESTful API 사용 API 객체에 대한 명사, 과 행동을 수행하는 동사 그 물건들에. 인증은 이것의 일부일 수 있으며, 속도 제한 또한이 부분 일 수 있습니다. 그러나 매우 간단한 API는 사용자의 제한 사항에 크게 신경 쓰지 않아도됩니다..
API 리소스 액세스
공개 API는 일반적으로 직접 웹 사이트 주소에서 액세스 가능. 이것은 URL 구조가 중요하다., API 요청에만 사용해야합니다..
일부 URL에는 다음과 같은 프리픽스 디렉토리가 포함될 수 있습니다. / v2 /
이전 API의 업데이트 된 버전 2에 대한 것입니다. 이는 1.x API를 저하시키지 않고 최신 구조를 제공하고자하는 개발자에게 일반적입니다..
나는이 게시물 덮음을 정말로 즐겼다. 기본 URL 구조 다른 서비스의 예.
엔드 포인트의 반환 데이터가 변경됩니다. 극적으로 HTTP 메소드. 예를 들어, 도망
콘텐츠를 가져 오는 동안 우편
새로운 콘텐츠를 만듭니다. 요청은 동일한 끝점을 가리킬 수 있지만 그 결과는 매우 다를 수 있습니다.
온라인에서 예제를 살펴보면 더 명확한 개념을 이해하는 데 도움이 될 수 있습니다. 우리는 이미 포케 피 (Pokeapi)를 보았습니다,하지만 여기에는 다른 것들이 있습니다. 실제 API 예제 정독하기 :
- Reddit API
- GitHub API
- Flickr API
- Pinterest API
나만의 API 구축
자신의 API를 구성하는 과정은 가볍게 다루어서는 안되지만 생각만큼 복잡하지는 않습니다. 그것은 API 디자인 패턴 및 모범 사례 이해 진정한 가치를 창출하다.
각 API는 서버에 연결 어떤 종류의 데이터를 반환합니다. 그렇게하기 위해 코드를 작성할 필요가있을뿐만 아니라 리턴 데이터를 형식화해야합니다. 기타 잠재적 요구 사항에는 다음이 포함됩니다. 입증 과 속도 제한, API를 작성하는 것은 확실히 희미한 마음이 아닙니다..
하지만 한 번 살펴 보겠습니다. 몇 가지 기본 교리 API 아키텍처.
끝점 작성
API 개발의 한 측면은 건물 종점. 언제 자원 만들기 동사가 아닌 명사를 사용하고 싶습니다. 이는 API 데이터가 사람, 장소 또는 물건을 반환해야 함을 의미합니다. 특정 속성을 가진 것 (예 : 짹짹과 모든 메타 데이터).
명사의 이름을 배우는 것은 어려울 수 있지만 이는 API 개발의 중요한 부분입니다. 가능할 때마다 단순화가 가장 좋습니다..
큰 논쟁은 단수 대 복수 명사. 트위터 API를 만들었다면 먼저 개체 그룹 (트윗)을 가지고있을 수 있으며, 그 다음에 개체 항목 (즉, 트윗 ID).
$ / tweet / 15032934882934 $ / tweets / 15032934882934
이 경우, 단수 형태가 더 좋아 보인다는 것을 주장 할 수 있습니다. 특히 하나의 리소스 만 반환되는 경우에 특히 그렇습니다. 그러나 문서화 된 100 % 정답은 없으므로 프로젝트에 가장 적합한 것은 무엇이든하십시오.
반환 유형 설정
또 다른 고려 사항은 반환 형식 데이터. 대부분의 웹 사용자는 JSON 콘텐츠를 기대하므로 가장 좋은 옵션입니다. XML을 제공하려는 경우 XML이 좋습니다. 그러나 JSON은 웹 개발자들 사이에서 기본적인 API 반환 유형입니다..
API 개발에는 더 많은 것이 있으므로 API를 먼저 사용하는 것이 좋습니다. 이렇게하면 다른 개발자가 API를 작성하는 방법을 볼 수 있으며 일반적인 요구 사항에 익숙해지기를 바랍니다..
방금 시작한 분이라면 다음 dev 개발 안내서를 생략하십시오.
- REST API 자습서 사이트
- 간단한 REST API 작성하기
- RESTful 웹 서비스 빌드하기
추가 리소스
웹 앱 개발을 배우는 가장 좋은 방법은 연습을 통해서입니다. 주어진 이론은 항상 공부할 가치가 있습니다. 왜냐하면 개발자와 대화하고 어떻게 작동하는지 이해할 수 있기 때문입니다..
그러나 API 개발을 시작하기에 좋은 곳은 다른 API에 연결 먼저. 클라이언트 측 연결의 기본 사항에 대해 알아보고 자체 API를 처음부터 만들면 서버 측 API 개발로 이동할 수 있습니다..
이것이 목표라면 여행을 돕기 위해 다음 자료를 고려하십시오..
서적
- REST API 디자인 룰북
- RESTful 웹 API
- RESTful 웹 서비스 요리 책
- 방해받지 않는 REST : 완벽한 API 설계 안내서
조항
- HTTP 및 REST 초보자 가이드
- RESTful API 만들기
- RESTful 리소스 이름 지정 가이드
- 평균 스택을 사용하여 REST API 만들기