Ich habe eine Debatte darüber geführt, was mit einem abschließenden Schrägstrich in einer RESTful-API geschehen soll.
Nehmen wir an, ich habe eine Ressource namens Hunde und untergeordnete Ressourcen für einzelne Hunde. Wir können daher Folgendes tun:
GET/PUT/POST/DELETE http://example.com/dogs
GET/PUT/POST/DELETE http://example.com/dogs/{id}
Aber was machen wir mit dem folgenden Sonderfall:
GET/PUT/POST/DELETE http://example.com/dogs/
Meine persönliche Meinung ist, dass dies bedeutet, eine Anfrage an eine einzelne Hunderessource mit id = zu senden null
. Ich denke, dass die API eine 404 für diesen Fall zurückgeben sollte.
Andere sagen, die Anfrage greife auf die Hunderessource zu, dh der abschließende Schrägstrich wird ignoriert.
Kennt jemand die endgültige Antwort?
dogs
und dogs/
als gleichwertig behandeln. Für mich ist klar, dass dogs/
es sich um ein Verzeichnis handelt, das die einzelnen Hunde enthält. Es ist weniger klar, was es dogs
ist, aber ich würde es als gleichwertig behandeln, genau wie die meisten Webserver Zugriffe auf Verzeichnisse akzeptieren, ohne nachzulesen /
.