我现在用REST玩,我想我正确实施HATEOAS只是为了让所有的概念权利。
对于我要创造我自己的媒体类型( application/vnd[...]+xml
和application/vnd[...]+json
)。
其中第一个问题: 请问媒体类型定义我的服务器和客户端之间的合同?
媒体类型将定义我的消息格式,所以我需要添加XML架构和JSON模式去与新的媒体类型(让REST客户端知道什么是在消息来了,送什么回)。
我已经做了网络上的一些研究,但之一请问这是怎么丢失的细节。 是否只涉及编写详尽的规范/文档或者是有一些技术措施来实现? (我没有与IANA做我注册了吗?)
如何能在新-全功能- application/vnd
媒体类型产生的呢? 和你有什么需要采取的使客户能够正确使用它照顾?
@JohnDoDo
其中第一个问题:请问媒体类型定义我的服务器和客户端之间的合同?
是的,媒体类型是合同的一个组成部分。 合同在REST API是不是不像SOAP(即WSDL)静态的。 合同由底层协议的组合来定义(即HTTP),URI和媒体类型(它不禁止使用多种媒体一起)。 媒体类型定义的数据模型,处理模型,超媒体的控制(即注解链接,输入形式等)和支持包括由链接关系,元素名称,IDS,类名等描述的附加应用程序专用信息...
媒体类型将定义我的消息格式,所以我需要添加XML架构和JSON模式去与新的媒体类型(让REST客户端知道什么是在消息来了,送什么回)。
你只需要定义涵盖了文档结构的通用模式。 你并不需要定义不同的模式为特定的消息。 您的邮件必须英尺的结构通过媒体类型定义。
如何能在新 - 全功能 - 应用程序/越南盾媒体类型产生的呢? 和你有什么需要采取的使客户能够正确使用它照顾?
- 描述它(即写格式规范);
- 注册IANA: http://www.iana.org/cgi-bin/mediatypes.pl注册下越南盾媒体类型*树需要近一个星期的登记。
看看三个简单的步骤一个RESTful API超媒体
你的媒体类型应该描述的数据类型,但我不会用XML模式去做。 如果您使用XML模式,我强烈建议你使用一个松散的版本管理策略 ,否则你会发现你要添加新的元素和属性,每次你需要一个新的媒体类型。
难道媒体类型定义我的服务器和客户端之间的合同?
否,媒体类型仅定义了的数据的类型(例如,应用程序)和子类型(例如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?