2010-04-20 3 views
4

Я проектирую API RESTful, и я хотел бы знать, что самый RESTful способ вернуть данные об операции.RESTful web services - лучший способ вернуть результат операции?

E.g. операция с ресурсом возникает, когда некоторые данные отправляются по URL-адресу. Коды состояния HTTP указывают на успешность или неудачу операции. Но, кроме успеха/неудачи, мне нужно указать какую-то другую информацию клиенту, такую ​​как идентификационный номер.

Итак, мой вопрос в том, должен ли идентификационный номер быть возвращен в XML-документе в контенте ответа или должен быть возвращен в некоторых настраиваемых полях HTTP-заголовка? Что больше соответствует принципам REST? Или я свободен в выборе.

ответ

3

Возврат объекта является вполне допустимым ответом на HTTP POST.

Вам также не нужно возвращать XML, вы можете просто использовать тип текста text/plain и просто вернуть строковое значение.

Использование заголовка потребует от вас определения нового настраиваемого заголовка, который не является идеальным. Я ожидаю, что клиентам будет легче анализировать тело ответа, чем извлечение информации из заголовка.

0

XML-документ имеет наибольший смысл.

+1

т.к. .........? –

+0

Это то, что я видел чаще всего. Заголовки менее очевидны. –

+0

Но разве это RESTful? POST не запрашивает ресурс в REST, он его модифицирует. Большинство примеров, которые я видел, возвращают местоположение нового/измененного ресурса в поле «Местоположение» Http-заголовка. Затем клиент может запросить его, если они хотят увидеть, что они только что изменили. – saille

0

Если это просто идентификационный номер, это позволит сэкономить накладные расходы, чтобы сделать это как HTTP-заголовок. Создание правильного XML-документа только для одного номера добавило бы гораздо больше накладных расходов на запрос.

+0

Но что делать? Что наиболее легко понятны клиентам? –

+0

Я думаю, что это зависит от клиента ... лично я бы предпочел JSON над XML –

+0

Я имел в виду, почему ответ на документ вместо заголовков ... Я думаю, что это то, что задает оригинальный плакат –

Смежные вопросы