Как получить только один строковый параметр из запроса в Java? - PullRequest
0 голосов
/ 06 мая 2020

Я создал метод POST:

    @POST
    @Path("/test")
    @JsonView({ TestView.class })
    public Response test(@Valid String testParameter) {
        return testController.doTest(testParameter);
    }

В запросе я отправляю один параметр:

{
  "testParameter": "Hello"
}

, который я хочу сопоставить с параметром "testParameter" в методе. Класс потребляет / производит MediaType.APPLICATION_JSON. Есть ли какая-нибудь доступная аннотация, которая может позволить мне получить этот параметр? Или мне нужно переназначить всю JSON (String) и получить это значение?

Ответы [ 2 ]

0 голосов
/ 06 мая 2020

Вы можете использовать Map<String, String> в качестве тела запроса, если не хотите создавать класс.

public Response test(Map<String, String> map) {
        return testController.doTest(map.get("testParameter"));
}
0 голосов
/ 06 мая 2020

Все, что вам нужно, это класс объекта запроса с единственным полем String с именем testParameter. Замените параметр String этим объектом запроса и получите из него свое значение.

...