I'm having a controller which receives JSON Object as input. But the problem is that, the content of JSON will vary for different requests, so Im not able to map the RequestBody
to a POJO.
Is there a way I can specify the input parameter as generic JSONObject
without having to specify a specific POJO.
I tried @RequestBody JSONObject inputJson
. But this is throwing bad request from the client side.
I'm using spring 3.2.13 and Angular as Front End.
Any help is much appreciated. Thanks.
It will depend a little on what you're using for JSON conversion. But you probably need to accept the input as a String and generate a JSONObject.
@RequestBody String inputJson
JSONObject jsonObj = new JSONObject(inputJson);
Or process the input as a map and just use that directly. Most versions of Jackson will perform this conversion for you:
@RequestBody Map<String, Object> inputData)
JSONObject jsonObj = new JSONObject(inputData);
In the map case you may not need the JSONObject but you can generate it if you want.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With