gpt4 book ai didi

rest - 如何为 RESTful Web 服务创建自定义媒体类型(应用程序/vnd)?

转载 作者:行者123 更新时间:2023-12-03 08:41:28 25 4
gpt4 key购买 nike

我现在正在玩 REST,并认为我正确地实现了 HATEOAS只是为了让所有的概念都正确。

为此,我想创建自己的媒体类型( application/vnd[...]+xmlapplication/vnd[...]+json )。

第一个问题:媒体类型是否定义了我的服务器和客户端之间的契约(Contract)?

媒体类型将定义我的消息格式,因此我需要添加 XML 模式和 JSON 模式以配合新的媒体类型(以便 REST 客户端知道消息中的内容以及发送回的内容)。

我在网上做了一些研究,但是缺少有关如何做到这一点的详细信息。它是否只涉及编写详尽的规范/文档,还是有一些技术步骤可以实现? (我不需要向 IANA 注册,对吗?)

怎样才能新的-功能齐全-application/vnd媒体类型被创建?以及您需要注意什么才能让客户正确使用它?

最佳答案

@约翰多多

One first question: Does the media type define the contract between my server and client?



是的,媒体类型是契约(Contract)的一部分。与 SOAP(即 WSDL)不同,REST API 中的契约(Contract)不是静态的。合约由底层协议(protocol)(即 HTTP)、URI 和媒体类型(不禁止多种媒体类型一起使用)的组合定义。媒体类型定义数据模型、处理模型、超媒体控件(即带注释的链接、输入表单等),并支持包含由链接关系、元素名称、id、类名等描述的附加应用程序特定信息...

The media type will define my message formats so I need to add XML schema and JSON schema to go with the new media types (so that REST clients know what's coming in messages and what to send back).



您只需要定义涵盖文档结构的通用模式。您不需要为特定消息定义单独的模式。您的消息必须符合媒体类型定义的结构。

How can a new - fully functional - application/vnd media type be created? and what do you need to take care of so that clients can properly use it?


  • 描述它(即编写格式规范);
  • 向 IANA 注册:http://www.iana.org/cgi-bin/mediatypes.pl在 vnd.* 树下注册媒体类型需要将近一周的时间来注册。
  • 关于rest - 如何为 RESTful Web 服务创建自定义媒体类型(应用程序/vnd)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14685672/

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