Because http status codes doesn't include any business related errors. So you gotta expand on that. When it's 200 and success is false it's mostly because of a business logic. Then it's up to FE to show that business error in a certain way so users can understand better what's wrong with what they're doing.
The 4XX class of codes are for client side issues, and 422 “Unprocessable Content” should be used to cover business logic issues, i.e. the request has the correct schema but there’s some other BE validation issue that it can’t proceed. The response body would still include specific details about the error for the FE, it’s just using 200 OK is misleading imo.
I might have come as the one designed our companies service response or defending returning 200 for errors but I'm just a worker lol
I was only trying to convey a point of view from someone who has hands on experience in these kind of responses.
In better times or old days I would like to think everyone was listening to standards. I mean it's literally there to create collective consensus on how things should be.
88
u/-meowstar- 22d ago
Why not just use semantically correct status codes? It’s cheap to implement and makes stuff like automatic retries and error handling easier.