Java — инициализировать элемент значениями от других членов

#java

#java

Вопрос:

У меня есть веб-сервис REST, я получаю свои данные из запроса JSON:

 @POST
@Path("load")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@RequestMapping(value="load", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
public @ResponseBody
Respuesta loadData(@RequestBody Persons person) {
    //code
    em.persist(person);
}
  

Это мой класс Person:

 @Entity
@Table(name = "myparenttable", schema = "myschema", catalog = "mydb")
public class Parent {
    private Integer id_parent;
    private String name;
    private String last_name;
    private String username;

    //getters and setters
    
    public Parent(){}
    
}
  

Я хочу сгенерировать член username с частями членов name и last_name; для простоты допустим, мне нужно username be = name last_name ; username член не указан в запросе json, есть ли способ загрузить член со значениями других членов при инициализации объекта? в этом случае автоматическая инициализация с @RequestMapping помощью и @RequestBody

Комментарии:

1. Это весна?

2. Обычно вы не используете один и тот же класс для сохранения и REST API. Вы должны создать класс DTO, который содержит данные запроса, а затем сопоставить с классом сохранения в вашем контроллере. Таким образом, вы можете манипулировать данными, прежде чем сохранять их. Здесь есть хороший пример baeldung.com /…