When building a RESTful API and a user provides an id of resource that does not exist, should you return 404 Not Found
or 400 Bad Request
.
For example:
https://api.domain.com/v1/resource/foobar
Where foobar does not exist.
I would return 404 in case of resource does not exist(means the url path is wrong) and i will return 400 only if the rest call is made with some invalid data (@PathParam) for example
https://api.domain.com/v1/profile/test@email : here i am trying to get profile of email id, but the email itself is wrong, so I will return 400.
https://api.domain.com/v1/profile1111/[email protected] will return 404 because the url path is invalid.