REST - Media-Type для массива однородных предметов - PullRequest
0 голосов
/ 24 августа 2018
GET /orders

[ { "desc": "Champagne" }, { "desc": "Strawberries" } ]

Если ресурс представляет собой простой массив заказов, мой тип носителя должен быть

application/orders-collection+json

Или мы предполагаем, что содержащийся массив подразумевается как +json и его то, что находится в массиве, которое требует связи, т.е.

application/order+json

Обратите внимание, что если я нарушу формат заказа, мне нужно будет использовать только один тип носителя.

1 Ответ

0 голосов
/ 24 августа 2018

Collection + Json поддерживает профили , которые можно использовать для дальнейшего указания типа носителя для его элементов. Тип носителя, например

application/vnd.collection+json;profile=http://example.org/profiles/order http://schema.org/Order

может быть более подходящим ИМО.

AFAIK collection + json не поддерживает разбиение на страницы (хотя я надеюсь, что я ошибаюсь), поэтому, если вам нужно или вам нужно разбить на страницы представление со ссылками, указывающими на next, previous, first или last страница коллекции с нумерацией страниц, выходящая из этого типа носителя и указывающая application/vnd.paginated-collection+json, может оказаться полезной.

...