Es kommt auf die API-Schnittstelle. Es gibt verschiedene Ansätze für das API-Design. Und wie Sie vorgeschlagen haben, können Sie die ID aus der Anfrage herauslassen. Da jedoch viele API-Designs in einer Art und Weise strukturiert sind, die Sie beschrieben haben, wie PUT/cars/5, wird dies als gute Praxis angesehen.
Grundsätzlich haben Sie 8 Möglichkeiten, mit Ihrer API zu interagieren. GET, POST, PUT, DELETE und ein optionaler HEAD. (Wenn Sie Kopf zählen, wäre die Summe 9 oder 10, abhängig von den Interaktionen).
Also, um es aufzuräumen, haben Sie 2 Möglichkeiten von GET. GET/Autos würden alle Autos abrufen, GET/cars/5 würde jedes Auto mit einer ID von 5 abrufen. Also, Sie haben 2 Möglichkeiten, GET zu verwenden. Das gleiche gilt für POST, PUT und DELETE. 4 * 2 = 8 richtig?
Nun, es gibt Leute, die sagen würden, dass PUT/Autos ambivalent sein würden, aber Sie sind völlig ohne das zusätzliche ID - Feld gültig, weil Sie, wie Sie bereits erwähnten, das ID - Feld bereits übergeben anfordern.
Die Leute von Apigee forschen seit einiger Zeit über API-Designs. Ich empfehle, einige ihrer Videos anzusehen, um besser zu verstehen, was API-Design bedeutet und warum einige Argumente gültig sind und andere nicht.
Apigee Best practises