У меня были споры о том, что делать с косой чертой в RESTful API.
Допустим, у меня есть ресурс под названием собаки и подчиненные ресурсы для отдельных собак. Поэтому мы можем сделать следующее:
GET/PUT/POST/DELETE http://example.com/dogs
GET/PUT/POST/DELETE http://example.com/dogs/{id}
Но что нам делать со следующим частным случаем:
GET/PUT/POST/DELETE http://example.com/dogs/
Мое личное мнение таково, что это говорит о том, что нужно отправить запрос на ресурс отдельной собаки с id = null
. Я думаю, что API должен вернуть 404 для этого случая.
Другие говорят, что запрос обращается к ресурсу собак, т.е. косая черта игнорируется.
Кто-нибудь знает окончательный ответ?
dogs
и dogs/
как эквивалент. Для меня понятно, что dogs/
это каталог, содержащий отдельных собак. Менее понятно, что dogs
есть, но я бы отнесся к этому как к эквивалентному, так же как большинство веб-серверов принимают доступ к каталогам без запаздывания /
.