У меня есть список объектов, возвращаемых в следующем формате (не очень).
{"data":[{"id":1,"firstName":"Bill","lastName":"Johnson"}]
Я бы хотел, чтобы это выглядело так (довольно).
{
"data":[{
"id":1,"
firstName":"Bill",
"lastName":"Johnson"
}]
}
Это моя подпись метода, а также мой вызов службы для запроса БД и возвратаэто выводит JSON на экран.
public @ResponseBody ResponseEntity<ResponseData<List<NameSearchDTO>>> getInfo(@PathVariable String code, @PathVariable String idType)
ResponseData<List<NameSearchDTO>> response = new ResponseData<>();
List<NameSearchDTO> results = officeService.getByCode(code, idType);
if (!results.isEmpty()) {
response.setData(results);
response.setStatus(Enum.SUCCESS.getDescription());
response.setMessage(Enum.STATUS_SUCCESS.getDescription());
return new ResponseEntity<>(response, HttpStatus.OK);
}
Класс ResponseData реализует Serializable.Означает ли это, что это «настоящий» JSON, поскольку я не использую Джексона или любую другую библиотеку JSON?
Как передать ответ в приведенный ниже ObjectMapper, чтобы сделать его красивым?
ObjectMapper jacksonMapper = new ObjectMapper();
jacksonMapper.configure(SerializationFeature.INDENT_OUTPUT, true);
Или мне нужно создать какой-то класс JSONHelper?
Класс ResponseData
public class ResponseData <E> implements Serializable{
private E data;
private String status;
private String message;
private boolean hasValidationError = false;
public E getData() {
return data;
}
public void setData(E data) {
this.data = data;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public boolean getHasValidationError(){
return hasValidationError;
}
public void setHasValidationError(boolean hasValidationError){
this.hasValidationError = hasValidationError;
}
}