2014-11-12 21 views
7

Sto usando Spring per creare un servizio RESTful e sono curioso della sintassi per i tipi di media.Qual è il tipo di supporto corretto per HAL + JSON?

Dalla mia comprensione, il tipo di supporto generale per HAL + JSON è application/hal+json. Inoltre, dalla mia comprensione, un tipo di media personalizzato specifico del fornitore che supporti HAL + JSON sarebbe qualcosa come application/vnd.api.entity.hal+json. Tuttavia, ho anche visto application/vnd.api.entity+hal+json. Quale è corretto?

Inoltre, quale sarebbe il tipo di wild card corretto per HAL + JSON? Sarebbe application/*.hal+json o application/*+hal+json. I collegamenti a qualsiasi RFC pertinente sarebbero apprezzati. Grazie!

+0

cosa intendi con "wild-card type"? –

+0

@JulianReschke Un tipo di wild card è qualcosa come 'application/* + json' –

+0

Ho capito; ma dove lo vuoi usare? Non dire in "Accetta:". –

risposta

6
application/vnd.api.entity+json 

application/vnd.api.entity.hal+json avrebbe senso solo se si prevede di fornire i dati anche senza il supporto per HAL. Il cliente deve comunque conoscere la struttura del contenuto e HAL ne fa parte.

application/vnd.api.entity+hal+json è semplicemente sbagliato. Lo standard afferma che devono essere utilizzati solo suffissi registrati. Si riferisce anche a loro come "Suffissi della sintassi strutturata". Quindi è abbastanza chiaro che si tratta di come leggere i dati non sul suo significato. È consentito un solo suffisso e altri non avrebbero senso.

Pensateci come application/semantic+syntax o application/what's in it + how to read it.

+0

Questo ha senso e quella era la direzione in cui stavo andando anche io. "application/blah + hal + json" non aveva senso per me. Inoltre, sì nell'API le mie entità hanno la possibilità di includere HAL. –

+0

Qualsiasi aiuto qui per favore? https://stackoverflow.com/questions/44703189/hal-is-it-a-violation-to-the-hal-format-standard-if-links-are-in-the-main-body/44715660?noredirect= 1 # comment76415176_44715660 Grazie –

Problemi correlati