Say you have the following JSON:
{
"rootNode": {
"firstValue":"",
"secondValue":""
}
}
The class to use for this could look something like this:
public class MyValues {
private String firstValue;
private String secondValue;
...
}
This class will however not map directly to the JSON above via @RequestBody, and this is because the JSON contains a root node (“rootNode”)
The solution here is to wrap the MyValues class into a “root class” like this:
public class MyValuesWrapper {
MyValues rootNode;
...
}
After this you should be able to parse the request body automatically with @ResponseBody like this:
@PostMapping(value = "/myValues")
public int postValues(@RequestBody MyValuesWrapper wrappedRequest) {
// Optional: Unwrap for easier access
MyValues request = wrappedRequest.getMyValues();
...
Hope this helps somebody (or me in the future 🙂 )
Tested on Spring Boot v2.3.8 and Java 11
Comments are closed.