我有一个rest应用程序,它的端点返回单个项和相同类型项的页面。
假设单个项目终结点的媒体/内容类型如下:
application/vnd.company.myitem-1+json
我们目前还有一个页面结构本身的内容类型,如下所示:
application/vnd.company.mylist-1+json
我真的很想指定列表是什么,但是我还没有找到一个可以接受的方式来表示它是application/vnd.company.mylist-1+jsonapplication/vnd.company.myitem-1+json。有什么好办法可以做到这一点吗?还是我完全错了?

最佳答案

1)您可以在vendor tree part的单个组件中对列表和条目类型进行编码,例如

application/vnd.company.mylist1-myitem1+json
application/vnd.company.mylist1-otheritem1+json

如果项目类型的列表类型已包含短划线,则可能必须选择其他分隔符。
2)或者,您可以简单地在
Content-Type: application/vnd.company.mylist-1+json

标题并对项目类型使用不同的标题,例如
X-Item-Content-Type: application/vnd.company.myitem-1+json

对于项目类型。
3)编辑:由Nick选择的解决方案是(如注释中所述)添加项目类型作为参数,例如
application/vnd.company.mylist-1+json; itemtype=vnd.company.myitem-1

07-26 02:50