Как передать объект в RequestBody?

117
23 августа 2019, 04:20

В форме ввожу данные(строка и столбец) и нажимаю на сабмит

@PostMapping(path = "/{sessionId}/selectseat", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE,
        produces = {MediaType.APPLICATION_ATOM_XML_VALUE, MediaType.APPLICATION_JSON_VALUE})
public String setSeat(@PathVariable Long sessionId,
                      @RequestParam("row") int row,
                      @RequestParam("col") int col,
                      Model model) {
    TicketBuildStep1 ticketInfo = movieSessionService.getInfoTimeOfSessionById(sessionId);
    TicketBuildStep2 step2 = new TicketBuildStep2(ticketInfo, row, col);
    return "redirect:/api/ticket-api/order";
}

Далее, нужно, чтобы объект TicketBuildStep2 отправился в RequestBody в другой GET-метод:

@GetMapping(path = "/order", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, headers = "Accept=application/json")
public String getInfoAboutTicket(@RequestBody TicketBuildStep2 ticketInfo, Model model) {
    model.addAttribute("ticket", ticketInfo);
    return "ticketInfo";
}

Но когда выполняю Post запрос получаю ошибку:

{
"timestamp": 1548074291274,
"status": 415,
"error": "Unsupported Media Type",
"message": "Content type 'application/json' not supported",
"path": "/gateway-api/api/ticket-api/4/selectseat"
}

С сериализацией класса TicketBuildStep2 по идее не должно возникнуть проблем:

public class TicketBuildStep2 {
private final TicketBuildStep1 ticketBuildStep1;
private final int row;
private final int col;
public TicketBuildStep2(
                        @JsonProperty("ticketBuildStep1") TicketBuildStep1 ticketBuildStep1,
                        @JsonProperty("row") int row,
                        @JsonProperty("col") int col) {
    this.ticketBuildStep1 = ticketBuildStep1;
    this.col = col;
    this.row = row;
}
@JsonGetter("ticketBuildStep1")
public TicketBuildStep1 getTicketBuildStep1() {
    return ticketBuildStep1;
}
@JsonGetter("row")
public int getRow() {
    return row;
}
@JsonGetter("col")
public int getCol() {
    return col;
}
}
READ ALSO
Синхронизация группы объектов

Синхронизация группы объектов

Доброго времени суток

113
Как работает Get Active Element

Как работает Get Active Element

В appium документации есть Get Active Element

99
Получить данные из localStorage

Получить данные из localStorage

Чтобы было понятноЧерез вебвью надо реализовать логин во множество аккаунтов соц

125