헤더 값 : application / vnd.api + json


101

누군가 다음의 차이점을 설명 할 수 있습니까?

application/vnd.api+json

application/json

답변:


94

미디어 유형 application/vnd.api+json은 JSON API를 나타냅니다. 여기에서 자세히 읽을 수 있습니다 .

요컨대, JSON API는 독단적이고 합리적입니다.

… 클라이언트가 리소스를 가져 오거나 수정하도록 요청하는 방법과 서버가 이러한 요청에 응답해야하는 방법에 대한 사양.


30
@rmhartog의 답변에서 공급 업체 접두사 (`vnd.`)에 대한 문장 이이 답변에 포함되면 좋을 것입니다.
Vasif

저는 vnd@Vasif 때문에 공급 업체 접두사로 알고 있는에 대한 설명을 찾고 있었기 때문에 여기 에 있습니다. 원본의 편집은 훌륭합니다.
Kamuela Franco

69

첫 번째는 API 특정 미디어 유형입니다. 공급 업체 접두사 ( vnd.)는이 공급 업체에 대한 사용자 지정임을 나타냅니다. 는 +jsonJSON으로 구문 분석 할 수 있지만 미디어 유형 JSON 위에 추가 의미를 정의 해야 함을 나타냅니다 .

두 번째는 콘텐츠가 JSON임을 의미합니다. 일반적으로 이것은 JSON 값의 의미를 정의하지 않기 때문에 그다지 유용하지 않습니다.

이에 대해 읽기에 좋은 출발점은 Wikipedia 에 있지만 자세한 내용은 해당 페이지 의 해당 RFC에 대한 링크를 따라갈 수 있습니다 .


33

확실하지 않은 경우 application/json반환하는 데이터 만 올바른 형식의 JSON 이어야하는 일반 MIME 유형을 사용하십시오 .


application/vnd.api+jsonMIME 타입은 (혼동 이름)을 사용하여 통신을 위해 예약되어 있습니다 "JSON의 API" 프로토콜.

이 컨텍스트에서 "JSON API"는 HTTP 및 JSON을 기반으로 하는 API를 의미 하지 않습니다 . 완전히 지정된 API도 아닙니다. 오히려 클라이언트가 상호 관련된 엔티티를 가져오고 수정할 수 있도록하는 API를 빌드하기위한 프레임 워크 입니다. 예를 들어 블로그 애플리케이션은 "JSON API"사양을 준수하는 API를 구현할 수 있습니다.이 API를 사용하면 단일 HTTP 요청에서 각 기사에 대한 메타 데이터 및 댓글과 함께 지정된 작성자의 마지막 10 개 기사를 가져올 수 있습니다.

사양은 특히 다음을 정의합니다.

  • 요청이 형성되어야하는 특정 방식 (즉, 정렬 및 페이지 매김을 제어하는 ​​URL 매개 변수 및 출력에 포함 된 데이터)
  • 응답에있는 JSON 문서의 특정 구조. 예 :

    문서에는 다음 최상위 멤버 중 하나 이상이 포함되어야합니다.

    • data: 문서의 "기본 데이터"
    • errors: 오류 객체의 배열
    • meta: 비표준 메타 정보를 포함하는 메타 개체입니다.

    구성원 dataerrors동일한 문서에 공존해서는 안됩니다.


8

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 작업에 반응하는 방식을 지정합니다 .
  • 클라이언트가 응답을 캐시 할 수 있습니다.

-1

아래 헤더 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);

희망이 있습니다 !!


2
이것은 질문과 전혀 관련이 없습니다.
Christian
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.