404 means "this URL doesn't point to a known resource".
HTTP doesn't and shouldn't make a distinction between "this URL maps to a known route on my API backend but the ID doesn't exist on the database" and "this URL is not mapped on my API backend", this is leaking implementation details to the client.
This not "abusing" status codes, this is the expected behaviour for an HTTP server.
HTTP doesn't and shouldn't make a distinction between "this URL maps to a known route on my API backend but the ID doesn't exist on the database" and "this URL is not mapped on my API backend", this is leaking implementation details to the client.
This not "abusing" status codes, this is the expected behaviour for an HTTP server.