Spring: ошибка определения типа при публикации нового объекта с использованием службы REST - PullRequest
0 голосов
/ 25 июня 2018

У меня есть объект, который получает два параметра через запрос POST json для создания новой записи в базе данных, и я получаю эту ошибку:

"Ошибка определения типа: [простой тип, класс ffuentese*на основе создателя) в [Source: (PushbackInputStream); строка: 2, столбец: 3] ",

Это объект:

@Entity
public class Persona {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;
    private String nombre;
    private String apellido;



    public Persona(String nombre, String apellido) {

        this.nombre = nombre;
        this.apellido = apellido;
    }
    public Integer getId() {
        return id;
    }

    public String getNombre() {
        return nombre;
    }
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    public String getApellido() {
        return apellido;
    }
    public void setApellido(String apellido) {
        this.apellido = apellido;
    }


}

Это метод контроллера:

@PostMapping(path="/persona")
public @ResponseBody String addPersona(@RequestBody Persona p) {
    personaRepository.save(p);
    return "success";

}

1 Ответ

0 голосов
/ 25 июня 2018

Вам понадобится пустой конструктор, чтобы Джексон мог правильно выполнять свои действия по десериализации.

Более того, использование объектной модели в качестве объекта передачи данных не очень хорошая идея. Я бы предложил создать PersonaDto, который будет содержать все поля, которые вам понадобятся для создания объекта, и использовать Spring converter для преобразования его в Persona объект.

Таким образом, вы будете более гибкими и не будете связывать перенос объектов в реальные модели сущностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...