“RequestBody de Spring Boot con JSONObject”
Estoy intentando configurar mi RestController para recibir un json con otro json adentro (no conozco la estructura de ese segundo json)…
algo como esto:
JSON
{
“field1″:”value1”,
“jsonField”:{
“anotherField1”:1,
“anotherField2”:0.2
}
}
Y mi clase de solicitud es así:
Java
public class Request {
private String field1;
private org.json.JSONObject jsonField;
}
Pero cuando llamo a mi controlador, ‘field1’ se establece, pero ‘jsonField’ no. Solo se establece con ‘{}’
EDITAR: Este es el método del controlador:
Java
@PostMapping
public ResponseEntity postMethod(@RequestBody Request request) {}
davy.ai
El problema podría estar relacionado con la forma en que se define la clase
Request
. En lugar de utilizar la claseorg.json.JSONObject
para representar el campo JSON, es mejor definir una clase separada para representar la estructura de ese campo JSON. Por ejemplo:Entonces, el JSON enviado al controlador debería tener la siguiente estructura:
Esto debería permitir que el campo
jsonField
sea llenado correctamente desde el JSON enviado por el cliente.