Как мне обращаться с неподдерживаемыми глаголами на ресурсе? - PullRequest
2 голосов
/ 02 июля 2010

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

Моя первоначальная мысль была ошибка 404, но ошибка не в том, что ресурс не может быть найден, он существует, просто пользователь пытается использовать ресурс неправильно. Есть более подходящий код ошибки? Какой самый распространенный способ обработки этой ситуации?

Ответы [ 2 ]

12 голосов
/ 02 июля 2010

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

  • 405 Метод не разрешен

    Был сделан запрос к ресурсу с использованием метода запроса, не поддерживаемого этим ресурсом; [2] например, с помощью GET в форме, которая требует представления данных через POST, или с помощью PUT на ресурсе только для чтения. [ источник ]

0 голосов
/ 02 июля 2010

Я не думаю, что вы бы вообще получили запрос к своему приложению, если бы использовался неправильный глагол (но это, вероятно, зависит от того, какие конкретные технологии вы используете на стороне сервера).

Чтобы быть более полезными для потенциально запутанных попыток соединения с клиентом, я полагаю, вы могли бы создать конечную точку / действие заглушки для каждого обычно неправильного глагола, комбинации методов, а затем отправить обратно дружественный текстовый ответ "use {verbname} вместо этого для этого запроса" но я бы лично потратил немного времени на лучшую документацию для разработчиков:)

Вы также можете легко перенаправить на правильное действие в этих случаях ...

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