Джерси. POJO с массивами возвращает 415 неподдерживаемый тип носителя - PullRequest
0 голосов
/ 26 октября 2018

Вот мой POJO

public class AllParticipantsDTO {

private List<SubmissionParticipantDTO> hairStylists;
private List<SubmissionParticipantDTO> mds;
private List<SubmissionParticipantDTO> muas;
private List<SubmissionParticipantDTO> phs;
private List<SubmissionParticipantDTO> setDesigner;
private List<SubmissionParticipantDTO> wardrobeStylists;

Который содержит массивы:

public class SubmissionParticipantDTO {

private String firstName;
private String lastName;
private CountryDto country;
private String city;
private Boolean me;


@POST
@Path("init")
@Produces({MediaType.APPLICATION_JSON})
@Consumes({MediaType.APPLICATION_JSON})
public Response initSubmission(final AllParticipantsDTO allParticipantsDTO) {

Я не понимаю, почему я получаю 415. Я также пытался добавить Джерси-медиа-Джсон-Джексон в Pom, все еще та же проблема

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Несколько вещей, чтобы проверить, в этом порядке.Вы говорите, что проверяли эти вещи, поэтому я действительно думаю, что это, вероятно, ПОЛУЧИТЬ против ПОЧТЫ.Но в любом случае, еще раз проверьте эти три, на всякий случай:

  1. Убедитесь, что вы уже установили соответствующий заголовок, т.е. Content- Type = "application / json; charset = utf8"
  2. Убедитесь, что объект JSON может быть должным образом десериализован, т.е. обратите внимание на нижний и верхний регистр, а также обратите внимание, действительно ли поле setDesigner является (пустым) массивом, и вы просто рассматриваете его как обычный объект (Я подчеркиваю это из-за вашей практики именования этого конкретного массива)
  3. Убедитесь, что ваш маршрут / путь и тип запроса (я вижу @POST там) является правильным.

Хотяэто может быть из-за неправильной орфографии или из-за того, что ваш JSON-объект просто недействителен, поскольку в нем отсутствуют некоторые обязательные поля, я думаю, вы уже дважды проверили его, поэтому если мне нужно было сделать дикое предположение, я думаю, этопотому что вы продолжаете посылать то есть запрос GET вместо POST

0 голосов
/ 26 октября 2018

Похоже, проблема была в самом POJO.SubmissionParticipantDTO имеет дополнительный параметр в нескольких массивах, поэтому Джерси не может его обработать.

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