I am working on creating a web application using Struts 2. I want to send out JSON error response like the below when the request URL is not well formed:
{
“status”: 409,
"code": 40924
“property”: “aggregation”,
“message”: “aggregationId not specified.”,
“moreInfo”: “https://www.iiitb-swn.com/docs/api/errors/40924”
}
I am already using the struts2-json plugin for serializing response objects using JSON. How should I go about sending JSON error responses. I can think of the below way of doing the same.
Use an error response object in the action class and set all name required name value pairs explicitly
private Map<String, String> errorObject;
public String execute()
{
...
if (aggregationId == -1)
{
errorObject = new HashMap<>();
errorObject.put("status", "400");
errorObject.put("code", "40924");
...
return INPUT;
}
...
}
I could then handle serializing only the errorObject
in my struts.xml
.
I am wondering if there is an established way of doing this? Perhaps one which makes using of the Struts 2 framework better.
Struts2
actionErrors
,fieldErrors
provided by theActionSupport
. You can fill action errors or they are produced by the validation interceptor. For exampleThen return
json
result as a response.