I throw an exception to @ResponseStatus and JSON content in the foreground.
@ResponseStatus (value = BAD_REQUEST, reason = 'exception.user.exists') class UserAlreadyExists Expanded RuntimeException {} If I try to resolve the message by then I get a local message.
Question 1
Now if I debug, then I think message processing < Strong> null which is strange as implementing the ResponseStatusExceptionResolver interface MessageSourceAware should contain a message in Source Source Injection Why is it not?
Question 2
If I ignore the fact that I do not have any custom messages and look at the JSON output which is reaching the frontend, then I will face it with The result is: "bad", "Exception": "io.test.UserAlreadyExists", "Poor Request", "Error": 400, "Error", "Status": "1414403066197," "Timestamp" Message ": tap," path ":" / register / "}
there is nothing about the reason text field that I am using JSN There was hope to see the response. Something like this {..., "cause": "exception.user.exists", "message": null, ....} .
Why is the reason (key) in JSON response? When no message is received by a key, then seeing that code, instead of just using the key / message is used. Answer: A bug in Spring IMO Bean is not ResponseStatusExceptionResolver a @ , so it will not be injected with a MessageSource .
Answer 2: Requesting Spring Boot Boots If you are seeing default / error output from the boot, looking for a message in exception , not HttpServletResponse "Cause" code (I think that is available through a API). Here's a link.
Comments
Post a Comment