2014-11-12 16 views
7

Tôi đang sử dụng Spring để tạo một dịch vụ RESTful và tôi tò mò về cú pháp cho các loại phương tiện.Loại phương tiện thích hợp cho HAL + JSON là gì?

Từ hiểu biết của tôi, loại phương tiện chung cho HAL + JSON là application/hal+json. Ngoài ra, từ sự hiểu biết của tôi, một loại phương tiện tùy chỉnh dành riêng cho nhà cung cấp hỗ trợ HAL + JSON sẽ giống như application/vnd.api.entity.hal+json. Tuy nhiên, tôi cũng đã xem application/vnd.api.entity+hal+json. Cái nào đúng?

Ngoài ra, loại thẻ hoang dã chính xác sẽ là gì cho HAL + JSON? Có thể là application/*.hal+json hoặc application/*+hal+json. Liên kết đến bất kỳ RFC thích hợp sẽ được đánh giá cao. Cảm ơn!

+0

ý bạn là gì theo "loại thẻ hoang dã"? –

+0

@JulianReschke Một loại thẻ hoang dã giống như 'application/* + json' –

+0

Tôi nhận được điều đó; nhưng bạn muốn sử dụng nó ở đâu? Đừng nói trong "Chấp nhận:". –

Trả lời

6
application/vnd.api.entity+json 

application/vnd.api.entity.hal+json sẽ chỉ có ý nghĩa nếu bạn có kế hoạch để cung cấp dữ liệu của bạn cũng không nơi nương tựa cho HAL. Khách hàng phải biết cấu trúc của nội dung và HAL là một phần của nội dung đó.

application/vnd.api.entity+hal+json không đúng. Các trạng thái standard chỉ sử dụng các hậu tố đã đăng ký. Nó cũng đề cập đến chúng như là "Các hậu tố cú pháp có cấu trúc". Vì vậy, nó khá rõ ràng rằng đó là về cách đọc dữ liệu không phải về ý nghĩa của nó. Chỉ có một hậu tố được phép và nhiều hơn sẽ không có ý nghĩa.

Hãy nghĩ về điều này là application/semantic+syntax hoặc application/what's in it + how to read it.

+0

Điều đó có ý nghĩa và đó cũng là hướng tôi đang đi. 'application/blah + hal + json' không có ý nghĩa với tôi. Ngoài ra, có trong API các thực thể của tôi có khả năng cho HAL được đưa vào. –

+0

Bất kỳ trợ giúp nào ở đây xin vui lòng? 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 Cảm ơn –

Các vấn đề liên quan