API Test2020. 9. 6. 08:00

Rest Architectural 스타일은 Restful 서비스의 일부를 핵심 개념 요소로 정의합니다. 

예를 들어 서버에 Rest 요청을 하는 동안 서버가 반환하는 정보를 Resource 라고합니다. 

RESTful 웹 서비스의 핵심 개념 요소를 간략히

 

요소
자원(Resource) 클라이언트가 요청할 수있는 서버에 저장된 정보. 날씨 정보이거나 직원 세부 정보 일 수 있습니다.
리소스 식별자(Resource Identifier) 이제 리소스가 정의되었으므로 리소스를 고유하게 식별해야합니다. 이것은 실제로 완전한 URL입니다.
표현(Representation) 리소스는 실제 데이터입니다. 이제이 데이터는 XML, HTML 또는 간단한 텍스트로 표현 될 수 있습니다. 그것이 표현이라고 불리는 것입니다.
표현 메타 데이터 클라이언트가 특정 표현 (XML 또는 HTML 등)에 제공된 리소스를 지정하고 처리하려면 일부 추가 데이터 (메타 데이터)가 요청에 전달되어야합니다.

 

 

자원

Restful 아키텍처의 리소스는 서버에서 사용할 수 있는 자산입니다. 

예를 들어 날씨 API ( http://restapi.demoqa.com/customer-api/v1/ping/weather?city=hyderabad )는 지정된 도시에 대한 날씨 정보를 반환합니다. 이 경우 하이데라바드. 반환 된 날씨 데이터는 서버의 리소스입니다. 

 

자원은

 

  • 일시적인(Temporal)
  • 공전(Static)

시간적 자원은 시간에 따라 계속 변하는 예를 들어 날씨 같은자원입니다.

 

정적 리소스는 오랜 시간 동안 일정하게 유지되는 리소스입니다. 

 

예를 들어 지금 읽고 있는 정적 텍스트가 포함된 웹 페이지와 마찬가지로 서버의 정적 리소스 일 수 있습니다..

 

리소스 식별자(Resource Identifier)

서버의 모든 리소스는 고유하게 식별 가능해야 합니다.

 

이를 위해 모든 리소스에는 해당 리소스에 액세스 하는 데 사용할 수 있는 고유 URL이 있습니다. 

 

예를 들어 클라이언트가 전화를 거는 위치를 반환할 수 있는 웹 서비스를 호스팅 했습니다.

 

URL : http://restapi.demoqa.com/utilities/locationutil/mylocation

귀하의 위치에 액세스 하려면 위의 URL을 눌러야 한다는 것을 알 수 있습니다. 

여기에서 리소스 는 사용자의 위치이며 여기 에 액세스 하는 고유 한 방법은 리소스 식별자 (URL)입니다.

여기서 주목해야 할 중요한 점은 리소스가 반드시 정적 인 정보가 아니라는 것입니다. 

 

예를 들어, 이 URL은 미국 사람이 클릭했을 때 자신의 위치를 ​​제공하고 인도에서 클릭하면 인도의 일부 위치를 제공합니다. 

 

위치는 런타임에 계산되어 클라이언트로 다시 전송됩니다. 

동적 정보조차 리소스 라고도합니다 .

비슷한 예는 노출하는 날씨 API입니다. 다음은 날씨 API의리소스 식별자입니다.

 http://restapi.demoqa.com/utilities/weather/city/hyderabad

여기에서도 모든 도시가 고유 한 리소스 식별자를 수 있음을 알 수 있습니다. 

예를 들어 http://restapi.demoqa.com/utilities/weather/city/redmond 가 레드몬드의 날씨 정보를 제공합니다.

 

표현 및 표현 메타 데이터(Representation and Representation Metadata)

이제 리소스 와 리소스 식별자에 대해 머리를 정리했으므로리소스 표현 이 무엇을 의미 하는지 이해할 때입니다.

리소스의 표현은 데이터에 대해 설명하는 데이터와 메타 데이터입니다. 

요청 및 응답의 엄격한 의미에서 메타 데이터는 응답 본문의 형식 유형을 설명하는 일부 헤더입니다. 

예를 들어 리소스 메타 데이터는 응답 본문의 내용이 Json 형식이라고 말할 수 있습니다. 

이는 고객에게 데이터 해석 방법을 알려줍니다. 

샘플 API의 예를 들어 보겠습니다. 

 

Weather API에 대한 요청 및 응답 헤더가 어떻게 보이는지 확인해 보겠습니다.

리소스 식별자 : http://restapi.demoqa.com/utilities/weatherfull/city/hyderabad

이 API는 도시의 날씨 세부 정보와 거래 중에 전송된 요청 및 응답 데이터를 제공합니다. 

응답에서 Content-Type 헤더를 찾으십시오 . 

Content-Type 헤더 의 값은 application / json이 됩니다.(charset = utf-8.) 

응답 본문의 데이터가 Json 형식이 될 것이라고 이미 짐작했을 것입니다.

페이지 끝에 있는 응답 본문을 보면 확인할 수 있습니다.

다음은 응답의 두 가지 중요한 부분을 가리키는 이미지입니다.

 

마찬가지로 동일한 XML 기반 날씨 웹 서비스의리소스 식별자에 도달하면 XML로 표시 되는 동일한 데이터를 얻을 수 있음을 알 수 있습니다. 

 

의미하는 바는 Resource Representation을 Json에서 XML로 변경 했다는 것입니다. 

 

같은 줄에서 데이터 표현을 XML에서 HTML로 변경할 수도 있습니다. 

 

따라서 아키텍처 RE 표현 S tate T ransfer(REpresentation State Transfer)의 이름입니다.

 

XML 기반 서비스 : http://restapi.demoqa.com/utilities/weatherxml/city/hyderabad

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터