Допустим, у меня есть личность класса сущности примерно такая:
@Table(name = "person")
public class Person {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(name = "managerID")
private long managerID;
@Column(name = "name")
private String name;
@Column(name = "externalID")
private UUID externalID;
public Person(long managerID, String name) {
this.managerID = managerID;
this.name = name;
this.externalID = UUID.randomUUID();;
}
}
И у меня есть класс RequestPersonDTO примерно так:
@AllArgsConstructor
@NoArgsConstructor
@Data
public class RequestPersonDTO {
@NotNull(message = "should not be null")
private int managerID;
@NotBlank(message = "should not be null")
private String name;
}
У меня есть веб-контроллер что-то вроде this:
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("/persons")
public ResponsePersonDTO createPerson(@Valid RequestPersonDTO requestPersonDTO) {
try {
ResponsePersonDTO responsePersonDTO = personManager.createPerson(requestPersonDTO);
return responsePersonDTO;
} catch (IOException e) {
throw new RestApiException("exception in calling data service");
}
}
Здесь personManager является классом обслуживания, который сопоставляет requestdto с сущностью, а затем вызывает уровень DAO и затем сопоставляет сущность обратно с responseDTO.
Таким образом, в основном, когда новый человеку будет создан полезный груз, примерно такой, который нужно отправить через веб-контроллер:
{
"managerID": 34,
"name": "John Doe"
}
Но кто-то предложил мне отправить это через заголовок / сессию.
Что может быть причина для этого? И какие изменения мне нужно сделать, чтобы добиться этого?