Я использую Java 8, Spring Boot et c.
У меня следующая проблема:
- Я сохраняю JSON из тела запроса в Mongodb как текст :
{"MyValue1": "False"}
- Затем я получаю значение из Mon go:
ControllerApi.findById(someParam)
В результате я получаю DisplayObject
с полем:
ответ частного объекта (класс генерируется openapi); например: "{MyValue1: False}"
@JsonPropertyOrder({"commandId", "response"})
public class DisplayObject{
public static final String JSON_PROPERTY_COMMAND_ID = "commandId";
private String commandId;
public static final String JSON_PROPERTY_RESPONSE = "response";
private Object response;
}
И значение ответа: "{MyValue1: False}"
Затем я пытаюсь преобразовать объект «ответ» в свой POJO:
public class MyResult {
private Boolean MyValue1;
private Boolean MyValue2;
private Boolean MyValue3;
}
Но получаю сообщение об ошибке:
Encountered error converting from json
, потому что ObjectMapper не может преобразовать эту String: response.toString()
в MyResult
.
Возникает вопрос, почему ControllerApi.findById(someParam)
возвращенный объект DisplayObject
с полем Object response со значением "{MyValue1: False}"
вместо "{"MyValue1": "False"}"
???
Что делать? Измените ответ поля в DisplayObject на JsonNode?
Или, может быть, мне следует использовать String вместо Object для поля response
в моем DisplayObject
UPDATE :
В понедельник go У меня есть {"MyValue1": "False"}
, но после вызова конечной точки с телом ответа DisplayObject в результате в поле DisplayObject.response
я получаю {MyValue1=False}
ПОЧЕМУ ?? ?? В чем дело??? У меня действительно НЕТ ИДЕИ