REST API - "Accept: application/json" HTTP 헤더 사용
요청을 하면 XML로 응답이 오는데 필요한 것은 JSON입니다.문서에는 JSON을 취득하기 위해 다음과 같이 기재되어 있습니다.를 사용합니다.Accept: application/json
HTTP 헤더
저장할 HTTP 헤더를 찾을 수 있는 위치Accept: application/json
안에?
다음과 같은 URL 요구에는 포함되지 않는 것으로 생각됩니다.
http://localhost:8080/otp/routers/default/plan?fromPlace=52.5895,13.2836&toPlace=52.5461,13.3588&date=2017/04/04&time=12:00:00
HTTP 헤더는 URL의 일부가 아닙니다.
그리고 브라우저에서 URL을 입력하면 요청은 표준 헤더와 함께 발행됩니다.어쨌든 REST Apis는 브라우저의 주소창에 엔드포인트를 입력하여 소비하는 것이 아닙니다.
가장 일반적인 시나리오는 서버가 서드파티제의 REST API를 사용하는 경우입니다.
이를 위해 서버 측 코드는 특정 엔드포인트(URL) 설정을 가리키는 적절한 GET(/PUT/POST/DELETE) 요구를 포스팅하고 있습니다(필요한 경우 등), 마지막으로 (일반적으로 POST 요청에서 발생하는) 일부 데이터를 전송합니다.
요청을 위조하여 전송하고 최종적으로 응답을 반환하는 코드는 서버 측 언어에 따라 달라집니다.
REST API를 테스트하려면 명령줄에서 도구를 사용할 수 있습니다.
curl
는 요구를 발행하여 stdout에 응답을 출력합니다(특별히 지시가 없는 한).
귀하의 경우 테스트 요청은 다음과 같이 발행됩니다.
$curl -H "Accept: application/json" 'http://localhost:8080/otp/routers/default/plan?fromPlace=52.5895,13.2836&toPlace=52.5461,13.3588&date=2017/04/04&time=12:00:00'
그H
또는--header
directive는 헤더와 그 값을 설정합니다.
여기 당신의 헤더를 테스트하기 위한 편리한 사이트가 있습니다.브라우저 헤더를 표시하고 cURL을 사용하여 보낸 헤더를 반영할 수 있습니다.
예를 들어, 이와 같이 컨텐츠의 네고시에이션을 검증할 수 있습니다.
이것.Accept
header는 플레인텍스트를 선호하기 때문에 다음과 같은 형식으로 반환됩니다.-
$ curl -H "Accept: application/json;q=0.9,text/plain" http://gethttp.info/Accept
application/json;q=0.9,text/plain
한편, 이것은 JSON을 선호하기 때문에, 그 포맷으로 돌아옵니다.
$ curl -H "Accept: application/json,text/*;q=0.99" http://gethttp.info/Accept
{
"Accept": "application/json,text/*;q=0.99"
}
기본적으로 API 테스트에는 Fiddler나 Postman을 사용합니다.
fiddler에서는 요청 헤더에서 xml 대신 html을 지정해야 합니다.json으로 변경해야 합니다.예:Accept: application/json
그걸로 충분할 거야
json 표현에는 Curl이 더 나은 옵션일 수 있지만, 이 경우 json의 구조는 명령줄에 있기 때문에 이해하기 어려울 수 있습니다.브라우저에서 json을 가져오려면 다음과 같은 모든 XML 주석을 삭제하기만 하면 됩니다.
@XmlRootElement(name="person")
@XmlAccessorType(XmlAccessType.NONE)
@XmlAttribute
@XmlElement
xml 표현에 사용한 동일한 URL보다 xml 표현에 사용되었습니다.
pom.xml에 jacson-databind 의존관계가 있는지 확인합니다.
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.1</version>
</dependency>
언급URL : https://stackoverflow.com/questions/43209924/rest-api-use-the-accept-application-json-http-header
'programing' 카테고리의 다른 글
Wordpress에서 이미지를 비공개로 설정 (0) | 2023.03.11 |
---|---|
"woocommerce_add_to_cart" 필터 또는 후크를 추가하는 방법 (0) | 2023.03.11 |
Wordpress는 데이터베이스 내의 카테고리에 게시물을 어떻게 링크합니까? (0) | 2023.03.11 |
Redux로 대응하시겠습니까?'문맥' 문제는 어떻습니까? (0) | 2023.03.11 |
반응 단방향 데이터 바인딩과 Angular의 양방향 데이터 바인딩의 차이를 설명할 수 있는 사람? (0) | 2023.03.11 |