Использовать DTD для описания XML, возвращаемого в RESTful-сервис? - PullRequest
0 голосов
/ 26 октября 2009

с учетом услуги:

> GET /hotel

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

Следует ли ссылаться на DTD в XML, возвращенном с сервера?

Будет ли это лучше, если клиент подтвердит ответ?

Ответы [ 3 ]

3 голосов
/ 26 октября 2009

Учитывая, что выбранная вами разметка соответствует вашим требованиям, я ожидаю увидеть тип носителя, такой как

application/vnd.yourcompany.hotel+xml

в HTTP-заголовке вашего типа контента. На основе этого типа контента клиент будет знать, обладает ли он знаниями для обработки этого представления.

1 голос
/ 26 октября 2009

Заголовок медиа-типа может помочь вашему клиенту узнать, какой документ использовать. Он также может помочь вам создать версию сервиса, предоставляя разные типы документов для каждой версии.

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

и т.д.

Клиент также может указать, какой тип документа он хотел бы вернуть в заголовке Accepts.

0 голосов
/ 26 октября 2009

Хорошая практика - ссылаться на вашу DTD / схему, и да, это позволит клиентам проверить ответ, если они захотят. Они часто не будут.

...