I'm not sure but there is difference between: 1) an application server accepts client request but fails to execute it, so client gets an error via JSON and 2) something on server side (HTTP server or application server or firewall) fails to receiver/accept client's request thus client gets back some HTTP error code.
Maybe people like this way becasue in complex systems there is always difference between failure to deliver and understand the request and error during execution of the request.
Comments
I'm not sure but there is difference between: 1) an application server accepts client request but fails to execute it, so client gets an error via JSON and 2) something on server side (HTTP server or application server or firewall) fails to receiver/accept client's request thus client gets back some HTTP error code. Maybe people like this way becasue in complex systems there is always difference between failure to deliver and understand the request and error during execution of the request.