如何创建一个RESTful Web服务的定制媒体类型(应用程序/ VND)?(How to crea

2019-07-19 05:55发布

我现在用REST玩,我想我正确实施HATEOAS只是为了让所有的概念权利。

对于我要创造我自己的媒体类型( application/vnd[...]+xmlapplication/vnd[...]+json )。

其中第一个问题: 请问媒体类型定义我的服务器和客户端之间的合同?

媒体类型将定义我的消息格式,所以我需要添加XML架构和JSON模式去与新的媒体类型(让REST客户端知道什么是在消息来了,送什么回)。

我已经做了网络上的一些研究,但之一请问这是怎么丢失的细节。 是否只涉及编写详尽的规范/文档或者是有一些技术措施来实现? (我没有与IANA做我注册了吗?)

如何能在新-全功能- application/vnd媒体类型产生的呢? 和你有什么需要采取的使客户能够正确使用它照顾?

Answer 1:

@JohnDoDo

其中第一个问题:请问媒体类型定义我的服务器和客户端之间的合同?

是的,媒体类型是合同的一个组成部分。 合同在REST API是不是不像SOAP(即WSDL)静态的。 合同由底层协议的组合来定义(即HTTP),URI和媒体类型(它不禁止使用多种媒体一起)。 媒体类型定义的数据模型,处理模型,超媒体的控制(即注解链接,输入形式等)和支持包括由链接关系,元素名称,IDS,类名等描述的附加应用程序专用信息...

媒体类型将定义我的消息格式,所以我需要添加XML架构和JSON模式去与新的媒体类型(让REST客户端知道什么是在消息来了,送什么回)。

你只需要定义涵盖了文档结构的通用模式。 你并不需要定义不同的模式为特定的消息。 您的邮件必须英尺的结构通过媒体类型定义。

如何能在新 - 全功能 - 应用程序/越南盾媒体类型产生的呢? 和你有什么需要采取的使客户能够正确使用它照顾?

  1. 描述它(即写格式规范);
  2. 注册IANA: http://www.iana.org/cgi-bin/mediatypes.pl注册下越南盾媒体类型*树需要近一个星期的登记。


Answer 2:

看看三个简单的步骤一个RESTful API超媒体

你的媒体类型应该描述的数据类型,但我不会用XML模式去做。 如果您使用XML模式,我强烈建议你使用一个松散的版本管理策略 ,否则你会发现你要添加新的元素和属性,每次你需要一个新的媒体类型。



Answer 3:

难道媒体类型定义我的服务器和客户端之间的合同?

否,媒体类型仅定义了的数据的类型(例如,应用程序)和子类型(例如JSON)

如何能在新 - 全功能 - 应用程序/越南盾媒体类型产生的呢? 和你有什么需要采取的使客户能够正确使用它照顾? ( http://www.ietf.org/rfc/rfc2046.txt?number=2046 )

如果你决定创建自己的自定义媒体的分型,并期望它被广泛使用,它应该与IANA(注册http://www.iana.org/assignments/media-types )。 这是与潜在客户分享了带外信息的标准方式。



文章来源: How to create a custom media type (application/vnd) for a RESTful web service?