2014-11-12 11 views
7

Używam Spring do tworzenia usługi RESTful i jestem ciekawy składni dla typów mediów.Jaki jest właściwy rodzaj nośnika dla HAL + JSON?

Z mojego rozumienia, ogólny typ mediów dla HAL + JSON to application/hal+json. Ponadto, z mojego zrozumienia, niestandardowy typ nośnika, który obsługuje HAL + JSON, byłby podobny do application/vnd.api.entity.hal+json. Jednak widziałem także application/vnd.api.entity+hal+json. Który jest prawidłowy?

Co jest właściwym typem dzikiej karty dla HAL + JSON? Czy to będzie application/*.hal+json lub application/*+hal+json. Należy docenić powiązania z wszelkimi stosownymi dokumentami RFC. Dzięki!

+0

co masz na myśli przez "typ dzikiej karty"? –

+0

@JulianReschke Typ typu "dzikie karty" to coś w stylu 'application/* + json' –

+0

Mam to; ale gdzie chcesz go użyć? Nie mów w "Akceptuj:". –

Odpowiedz

6
application/vnd.api.entity+json 

application/vnd.api.entity.hal+json miałoby sens tylko wtedy, gdy masz zamiar podać swoje dane również bez wsparcia dla HAL. Klient i tak musi znać strukturę treści, a jej częścią jest HAL.

application/vnd.api.entity+hal+json jest po prostu źle. standard stwierdza, że ​​powinny być używane tylko zarejestrowane przyrostki. Odwołuje się do nich również jako "Strukturalne przyrostki składni". Jest więc całkiem jasne, że chodzi o to, aby odczytywać dane, a nie ich znaczenie. Dozwolony jest tylko jeden sufiks, a więcej nie ma sensu.

Pomyśl o tym jako o application/semantic+syntax lub application/what's in it + how to read it.

+0

To ma sens, i to był kierunek, w którym się też znalazłem. 'application/blah + hal + json' nie miało dla mnie sensu. Tak, tak w interfejsie API moje jednostki mają możliwość włączenia warstwy HAL. –

+0

Proszę o pomoc? 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 Dzięki –

Powiązane problemy