使用DTD描述RESTful服务中返回的XML?

时间:2009-10-26 15:16:52

标签: rest

鉴于服务:

> GET /hotel

< HTTP/1.1 200 OK
< <hotel>
<   <a>aaa</a>
<   <b>aaa</b>
>   <c>aaa</c>
< </hotel>

是否应该引用从服务器返回的XML中的DTD?

这会更好地允许客户验证响应吗?

3 个答案:

答案 0 :(得分:3)

考虑到您选择的标记似乎是根据您的要求定制的,那么我希望看到媒体类型,例如

application/vnd.yourcompany.hotel+xml

在您的内容类型HTTP标头中。基于此内容类型,客户端将知道它是否具有处理此表示的知识。

答案 1 :(得分:1)

媒体类型标题可以帮助您的客户了解要使用的文档类型。它还可以通过为每个版本提供不同的文档类型来帮助您对服务进行版本化。

application/vnd.yourcompany.hotelv1+xml
application/vnd.yourcompany.hotelv2+xml

客户端还可以在Accepts标题中指定它想要的文档类型。

答案 2 :(得分:0)

引用您的DTD /架构当然是一种很好的做法,是的,如果他们愿意,它将允许客户验证响应。他们经常不会。