헤더 값 : application / vnd.api + json
누군가 다음의 차이점을 설명 할 수 있습니까?
application/vnd.api+json
과
application/json
미디어 유형 application/vnd.api+json
은 JSON API를 나타냅니다. 여기에서 자세히 읽을 수 있습니다 .
요컨대, JSON API는 독단적이고 합리적입니다.
… 클라이언트가 리소스를 가져 오거나 수정하도록 요청하는 방법과 서버가 이러한 요청에 응답해야하는 방법에 대한 사양.
첫 번째는 API 특정 미디어 유형입니다. 공급 업체 접두사 ( vnd.
)는이 공급 업체에 대한 사용자 지정임을 나타냅니다. 는 +json
JSON으로 구문 분석 할 수 있지만 미디어 유형 은 JSON 위에 추가 의미를 정의 해야 함을 나타냅니다 .
두 번째는 콘텐츠가 JSON임을 의미합니다. 그러나 이것은 일반적으로 JSON 값의 의미를 정의하지 않기 때문에 그다지 유용하지 않습니다.
이에 대해 읽기에 좋은 출발점은 Wikipedia 이지만 자세한 내용은 해당 페이지의 해당 RFC 링크를 따라갈 수 있습니다.
확실하지 않은 경우 application/json
반환하는 데이터 만 올바른 형식의 JSON 이어야하는 일반 MIME 유형을 사용하십시오 .
application/vnd.api+json
MIME 타입은 (혼동 이름)을 사용하여 통신을 위해 예약되어 있습니다 "JSON의 API" 프로토콜.
이 컨텍스트에서 "JSON API"는 HTTP 및 JSON을 기반으로 하는 API를 의미 하지 않습니다 . 완전히 지정된 API도 아닙니다. 오히려 클라이언트가 상호 관련된 엔티티를 가져오고 수정할 수 있도록하는 API를 빌드하기위한 프레임 워크 입니다. 예를 들어 블로그 애플리케이션은 "JSON API"사양을 준수하는 API를 구현할 수 있습니다.이 API를 사용하면 단일 HTTP 요청에서 각 기사에 대한 메타 데이터 및 댓글과 함께 지정된 작성자의 마지막 10 개 기사를 가져올 수 있습니다.
사양은 특히 다음을 정의합니다.
- 요청이 형성되어야하는 특정 방식 (즉, 정렬 및 페이지 매김을 제어하는 URL 매개 변수 및 출력에 포함 된 데이터)
- 응답에있는 JSON 문서의 특정 구조. 예 :
문서에는 다음 최상위 멤버 중 하나 이상이 포함되어야합니다.
data
: 문서의 "기본 데이터"errors
: 오류 객체의 배열meta
: 비표준 메타 정보를 포함하는 메타 개체입니다.
구성원
data
과errors
동일한 문서에 공존해서는 안됩니다.
MIME (Multipurpose Internet Mail Extensions) 형식 (또는) 미디어 유형은 인터넷을 통해 전송 된 문서의 성격과 형식을 표시하는 표준화 된 방법입니다. IETF RFC 6838 에서 표준화되었습니다 . 인터넷 할당 번호 관리 기관 (IANA)는 모든 공식 MIME 타입의 트랙을 유지할 책임이 공식 기관이다.
JSON API에서 사용하는 미디어 유형 은 application / vnd.api + json 이며 IANA에 올바르게 등록되었습니다.
API + JSON 미디어 유형은 JSON을 제공하는 서로 다른 API 간의 상호 운용성을위한 것입니다.
"두꺼운 JavaScript"클라이언트와 그들의 요구를 고려하여 만들어졌지만 그들에게 특정한 것은 아닙니다. 따라서 vnd
(공급 업체)로 시작합니다.
JSON API에 대한 몇 가지 추가 사항 :
- JSON API는 요청 및 응답 방법에 대한 API 사양을 정의하는 사양입니다.
- 잘 정의 된 구조 (예 : 리소스-관계 및 링크 등)를 만들 수 있습니다.
- REST API가 CRUD 작업에 반응하는 방식을 지정합니다 .
- 클라이언트가 응답을 캐시 할 수 있습니다.
아래 헤더 application / vnd.hmrc.1.0 + json 을 설정해야하는 경우
그럼 당신은 함께 가야합니다
Accept: application/vnd.hmrc.1.0+json
CUrl을 사용하여 스크립트를 다음과 같이 실행할 수 있습니다.
$url="https://test-api.service.hmrc.gov.uk/hello/world";
$ch = curl_init();
$curlConfig = array(
CURLOPT_URL => $url,
CURLOPT_HTTPHEADER => array('Accept: application/vnd.hmrc.1.0+json')
);
curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);
curl_close($ch);
희망이 있습니다 !!
참고 URL : https://stackoverflow.com/questions/28055526/header-value-application-vnd-apijson
'Programing' 카테고리의 다른 글
Python에서 Bash '소스'에뮬레이션 (0) | 2020.10.10 |
---|---|
뷰를 다시 렌더링하지 않고 Angular JS에서 URL 업데이트 (0) | 2020.10.10 |
C ++의 char * 대 std :: string (0) | 2020.10.10 |
하위 프로세스 호출을 텍스트 파일로 어떻게 파이프합니까? (0) | 2020.10.10 |
사용자 브라우저에서 화살표 키 스크롤 비활성화 (0) | 2020.10.10 |