鉴于服务:使用DTD描述在RESTful服务中返回的XML?
> GET /hotel
< HTTP/1.1 200 OK
< <hotel>
< <a>aaa</a>
< <b>aaa</b>
> <c>aaa</c>
< </hotel>
如果一个从服务器返回的XML引用DTD?
这会更好地允许客户端验证响应吗?
鉴于服务:使用DTD描述在RESTful服务中返回的XML?
> GET /hotel
< HTTP/1.1 200 OK
< <hotel>
< <a>aaa</a>
< <b>aaa</b>
> <c>aaa</c>
< </hotel>
如果一个从服务器返回的XML引用DTD?
这会更好地允许客户端验证响应吗?
考虑到你所选择的标记显示为自定义您的要求,那么我会希望看到一个媒体类型,如
application/vnd.yourcompany.hotel+xml
在您的内容类型HTTP头
。基于这种内容类型,客户将知道它是否具有处理这种表示的知识。
引用你的DTD /模式当然是好的做法,如果他们愿意的话,它将允许客户验证响应。他们通常不会。
这就是我的想法。虽然我没有看到太多人这样做。我们的应用程序是内部的(只有几个客户),所以不知道它是否过度杀伤。 – 2009-10-26 15:28:17
它不会花费太多。海事组织,它比依靠内容类型更好。 – divegeek 2009-10-26 17:48:15
媒体类型标题可以帮助您的客户知道要使用的文档类型。它还可以通过为每个版本提供不同的文档类型来帮助您对服务进行版本管理。
application/vnd.yourcompany.hotelv1+xml
application/vnd.yourcompany.hotelv2+xml
等
客户端还可以指定它想回到哪一种文档中的接受头。
“vnd”是指什么? – 2009-10-26 15:29:15
这是供应商树的标识符,您可以使用它,而无需向IANA注册媒体类型。 – SerialSeb 2009-10-26 15:35:52
不完全清楚客户在处理过程中如何使用它。 – 2009-10-26 15:54:38