【问题标题】:Media Types for list endpoints列表端点的媒体类型
【发布时间】:2017-01-30 03:39:58
【问题描述】:

我有一个 REST 应用程序,其端点返回单个项目和这些相同类型项目的页面。

假设单项端点具有这样的媒体/内容类型: application/vnd.company.myitem-1+json

我们目前也有页面结构本身的内容类型,如下所示: application/vnd.company.mylist-1+json

我真的希望能够指定列表是 of 的列表,但我无法找到一种可接受的方式来说明它是 application/vnd.company.mylist-1+jsonapplication/vnd.company.myitem-1+json .有什么好的方法可以做到这一点,还是我完全找错了树?

【问题讨论】:

    标签: http http-headers content-type


    【解决方案1】:
    1. 您可以在vendor tree part 的单个组件中对列表和条目类型进行编码,例如

      应用程序/vnd.company.mylist1-myitem1+json 应用程序/vnd.company.mylist1-otheritem1+json

    如果您的列表类型的项目类型已经包含破折号,您可能必须选择其他分隔符。

    1. 或者,您可以简单地将列表类型传输到

      内容类型:application/vnd.company.mylist-1+json

    标题并为项目类型使用不同的标题,例如

    X-Item-Content-Type: application/vnd.company.myitem-1+json
    

    用于项目类型。

    1. 编辑:Nick 选择的解决方案是(如 cmets 中所述)将项目类型添加为参数,例如

      应用程序/vnd.company.mylist-1+json; itemtype=vnd.company.myitem-1

    【讨论】:

    • 我们最终使用项目媒体类型的扩展作为列表媒体类型的参数:即application/vnd.company.mylist-1+json; itemtype=vnd.company.myitem-1,但我也喜欢你的想法
    • 很好,我会将您的解决方案添加到我的答案中,以便其他用户可以清楚地看到。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-21
    • 2017-11-09
    • 2011-01-21
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    • 1970-01-01
    相关资源
    最近更新 更多