gpt4 book ai didi

api - 如何将供应商特定的 MIME-TYPES 用于 "private-labeled"REST API

转载 作者:行者123 更新时间:2023-12-04 15:03:30 25 4
gpt4 key购买 nike

我正在开发一个 RESTful API。目前,我正在考虑使用特定于资源的供应商 MIME 类型来传达语义和含义,以及充当客户端和服务器之间的“契约(Contract)”。

因此,例如 application/vnd.mycompany.person+xml 将意味着有问题的数据是代表一个人的 xml。

我要求将此 API 设为“私有(private)标签”,这意味着经销商可以反过来将 API 提供给他的客户,而他的客户并不知道这是我公司的服务。这样做的方式是我的公司将主 api 托管在一种通用 url,即 www.example.com/api 然后我的公司将使用 CNAME 将我们的域名指向该 url,我们的经销商可以这样做相同。

在内部,所有资源链接都是相对于 API 根的,因此会尊重正在使用的实际 url。

但是,我不想理解/支持任意供应商特定的 MIME 类型,那么上面示例 MIME 类型的“mycompany”部分应该是什么?

最佳答案

HTTP 规范 says :

Use of non-registered media types is discouraged.



我曾经在我的平台中使用“自定义”媒体类型,但这会导致用户代理(浏览器、cURL、wget 等)无法识别内容。

您可以尝试注册您的自定义媒体类型,但是 (A) 这需要一段时间; (B) 用户代理需要很长时间才能识别类型,如果有的话; (C) 您已表示您不希望公司名称始终出现。

作为“自定义”媒体类型的替代方案,我建议使用媒体类型参数。它们是向媒体类型添加有关内容的补充信息的好方法。

使用参数,您的媒体类型可以是 application/xml; mycompany-schema=person或者也许只是 application/xml; schema=person .

关于api - 如何将供应商特定的 MIME-TYPES 用于 "private-labeled"REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6918025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com