@Data
public class TestObject {
private String name;
@JsonRawValue
private String result;
}
@RestController
@RequestMapping("test")
public class TestController {
@GetMapping
public String get() {
return "{" +
"\"name\": \"vasya\"," +
"\"result\": {\"bla\": \"bla\"}" +
"}";
}
}
public static void main(String[] args) {
RestTemplate template = new RestTemplate();
ResponseEntity<TestObject> exchange = template.exchange("http://localhost:8080/test", HttpMethod.GET, null, TestObject.class);
System.out.println(exchange.getBody());
}
}
нужно , чтобы в поле result попадал json как строка. Менять ответ контроллера (например обернуть в кавычки) я не могу. нужно это потому что там могут передаваться разные типы данных, а не только json.
а щас вылетает
Exception in thread "main" org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Can not deserialize instance of java.lang.String out of START_OBJECT token; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.lang.String out of START_OBJECT token