Re:API Practices If You Hate Your Customers
by wool_gather on Wednesday December 11, 2019 @06:30PM
(#21767910)
No, the "completely invalid query" is 400.
404 is only for "the request makes sense but that specific resource doesn't exist".
Re:API Practices If You Hate Your Customers
by paulddraper on Wednesday December 11, 2019 @07:47PM
(#21768363)
400 is a very generic error. It is often used to complain about problems with the request body.
Considering how brief the HTTP RFC is, your interpretation is I think as good as any, if very uncommon. (Not what Django, Rails, Flask, etc. do).
Re:API Practices If You Hate Your Customers
by akvadrako on Thursday December 12, 2019 @03:22AM
(#21770251)
In this case it’s a 404 because the query URL pattern doesn’t exist - the most common cause of 404s.
Re:API Practices If You Hate Your Customers
by pavel_lishin on Thursday December 12, 2019 @11:29AM
(#21773277)
Same thing, no? If I ask for /api/user/238885 and I get a 404 back, it's because the resource "user" with ID of 238885 doesn't exist. If I ask for /api/banana/wharrgarbl, it's because the resource "banana" with the ID of "wharrgarbl" doesn't exist.
Both of these are 404 (or 410 for permanent caching) responses according to HTTP, though they have very different reasons for "non-existance".