Джерси @FormDataParam возвращает неправильную строку - PullRequest
1 голос
/ 07 апреля 2020

Я пытаюсь создать функцию Post в моем REST API с аннотацией @FormDataParam. Однако, когда я пытаюсь проверить это с Почтальоном, возвращаемая строка очень странная.

Это мой метод:

    @POST
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public Response createBrand(@FormDataParam("name") String name){
        brandDAO.create(new Brand(name));
        return Response
                .ok("Name of brand = " + name)
                .build();
    }

Скажите, у меня есть настройки key = name и value="test". Я ожидаю, что name будет установлен для проверки, но на самом деле он установлен на:

----------------------------371301867522909150048733\r\nContent-Disposition: form-data; name=\"name\"; filename=\"\"\r\n\r\n\r\n----------------------------371301867522909150048733--\r\n

Я неправильно понял, как на самом деле получить значение из данных формы, или я использую метод неправильно

1 Ответ

0 голосов
/ 10 апреля 2020

Если вы используете Джерси 2, убедитесь, что вы зарегистрировали MultiPartFeature . Если вы этого не сделаете, аннотация @FormDataParam будет проигнорирована, и она будет обрабатываться так, как если бы String представлял собой всю сущность, как это выглядит.

...