He tenido un debate sobre qué hacer con una barra inclinada final en una API RESTful.
Digamos que tengo un recurso llamado perros y recursos subordinados para perros individuales. Por lo tanto, podemos hacer lo siguiente:
GET/PUT/POST/DELETE http://example.com/dogs
GET/PUT/POST/DELETE http://example.com/dogs/{id}
Pero, ¿qué hacemos con el siguiente caso especial:
GET/PUT/POST/DELETE http://example.com/dogs/
Mi opinión personal es que esto dice enviar una solicitud a un recurso de perro individual con id = null
. Creo que la API debería devolver un 404 para este caso.
Otros dicen que la solicitud está accediendo al recurso perros, es decir, se ignora la barra diagonal final.
¿Alguien sabe la respuesta definitiva?
dogs
y dogs/
como equivalente. Para mí está claro que dogs/
es un directorio que contiene los perros individuales. No está claro qué dogs
es, pero lo trataría como equivalente, al igual que la mayoría de los servidores web aceptan accesos a directorios sin el seguimiento /
.