Как дать полезную нагрузку в заголовке / сессии? - PullRequest
0 голосов
/ 12 апреля 2020

Допустим, у меня есть личность класса сущности примерно такая:

@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"
}

Но кто-то предложил мне отправить это через заголовок / сессию.

Что может быть причина для этого? И какие изменения мне нужно сделать, чтобы добиться этого?

...