Каков правильный ответ для веб-службы? - PullRequest
1 голос
/ 29 апреля 2010

Один из моих веб-сервисов возвращает список идентификаторов проектов, владельцем которых является человек. То есть, когда я получаю http://example.com/wsListProjects?user=eric, я получаю обратно xml со списком проектов. Однако, когда я указываю user = xxx, кого не существует, я в настоящее время возвращаю 404 ответа? Это правильный ответ для возврата?

Спасибо.

Ответы [ 3 ]

1 голос
/ 29 апреля 2010

Это действительно вопрос мнения. Многие веб-сервисы, такие как Twitter, часто используют HTTP-коды возврата, когда они имеют смысл (например, 401 Несанкционированный, если учетные данные пользователя неверны), другие просто возвращают объект ошибки в формате XML, а другие просто ничего не возвращают. Это действительно все сводится к вашему дизайну.

1 голос
/ 29 апреля 2010

Есть ли какая-либо разница (с точки зрения "программе нужно что-то делать") между пользователем, который не существует, и пользователем, которому не назначены проекты? Если нет, просто верните пустой список в любом случае.

Если есть разница, возможно, добавьте поле MessageCode / MessageText, которое заполняется, если пользователь не существует, вместе с пустым списком.

В любом случае, я не думаю, что 404 подходит - сайт существует, а 404 предполагает, что что-то не так с реальным веб-запросом.

0 голосов
/ 29 апреля 2010

Я вернусь 404, если пользователь не должен иметь доступ к странице. Обычно вы возвращаете 403 (или 401), однако в некоторых случаях 404 имеет смысл, потому что вы хотите выглядеть так, как будто страница даже не существует. Действительно зависит от ситуации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...