Respostas:
O tipo de mídia application/vnd.api+json
se refere à API JSON. Você pode ler sobre isso em detalhes aqui .
Resumindo, a API JSON é uma API opinativa e bem fundamentada:
… Especificação de como um cliente deve solicitar que os recursos sejam buscados ou modificados e como um servidor deve responder a essas solicitações.
vnd
, que agora sei ser o prefixo do fornecedor por causa de @Vasif. Uma edição do original seria excelente.
O primeiro é um tipo de mídia específico da API. O prefixo do fornecedor ( vnd.
) indica que é personalizado para este fornecedor. O +json
indica que ele pode ser analisado como JSON, mas o tipo de mídia deve definir semântica adicional sobre JSON.
O segundo significa apenas que o conteúdo é JSON. Em geral, isso não é muito útil, porque não define o que os valores JSON significam.
Um bom ponto de partida para ler sobre isso seria na Wikipedia , mas para obter mais detalhes, você sempre pode seguir os links para os RFCs correspondentes nessa página .
Se você não tiver certeza, use application/json
- é o tipo MIME genérico que requer apenas que os dados que você retorna sejam um JSON bem formado .
O application/vnd.api+json
tipo MIME é reservado para comunicação usando o protocolo "JSON API" (nome confuso) .
"API JSON" neste contexto não significa nenhuma API baseada em HTTP e JSON. Também não é uma API totalmente especificada - em vez disso, é uma estrutura para construir APIs que permitem ao cliente buscar e modificar entidades inter-relacionadas. Por exemplo, um aplicativo de blog poderia implementar uma API em conformidade com a especificação "API JSON", que permite buscar os últimos 10 artigos de um determinado autor, com metadados e comentários para cada artigo, em uma única solicitação HTTP.
A especificação define, em particular:
Um documento DEVE conter pelo menos um dos seguintes membros de nível superior:
data
: os “dados primários” do documentoerrors
: uma matriz de objetos de errometa
: um metaobjeto que contém meta-informações não padronizadas.Os membros
data
eerrors
não deve coexistir no mesmo documento.
O tipo (ou) de mídia MIME (Multipurpose Internet Mail Extensions) é uma maneira padronizada de indicar a natureza e o formato de um documento transferido pela Internet. É padronizado em IETF RFC 6838 . A Internet Assigned Numbers Authority (IANA) é o órgão oficial responsável por manter o controle de todos os tipos oficiais de MIME.
O tipo de mídia usado pela API JSON é application / vnd.api + json e foi devidamente registrado na IANA.
O tipo de mídia API + JSON é para interoperabilidade entre diferentes APIs que atendem JSON.
Ele foi criado levando em consideração os clientes "JavaScript denso" e suas necessidades, mas não é específico para eles. Portanto, prefixado com vnd
(fornecedor).
Adicionando mais alguns pontos na API JSON:
Se você precisar configurar o aplicativo de cabeçalho abaixo / vnd.hmrc.1.0 + json
Então você deve ir com
Accept: application/vnd.hmrc.1.0+json
Usando o CUrl, você pode executar o script como
$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);
Espero que ajude!!