Как получить список переменных JSON body в Jersey / Dropwizard? - PullRequest
0 голосов
/ 12 июня 2018

Я хочу получить список переменных параметров в формате JSON POST-запроса к бэкэнду Jersey / Dropwizard.

Рассмотрим тело json в запросе POST

{
 "tag1" : "tag1" ,
 "parameter" : 
    [ "key1" : "value1", 
      "key2" : "value2" ]
 }

Теперь длина параметров может изменяться, поэтому мне было интересно, как получить доступ к этим ключам и значениям.

Я пробовал блок

 @POST
  @Consumes(MediaType.APPLICATION_JSON)
  @Produces(MediaType.APPLICATION_JSON)
  public Response insertJob(
      @PathParam("tag1") String tag1,
      @PathParam("parameter") List<Result> parameters
  ) {

    return Response.ok(resultList).build();

  }

, но я получаю сообщение об ошибке

No injection source found for a parameter of type public javax.ws.rs.core.Response ....

Мне было интересно, какую инъекцию мне не хватает.кстати я использую guice как инжектор зависимостей

1 Ответ

0 голосов
/ 18 июня 2018

Джексон сделает все, если объявит простой POJO для сопоставления вашего JSON, просто так:

@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public List<Result> insertJob(MySimplePOJO pojo ) {

    [...]

    return resultList;
}

class MySimplePOJO  {
    public String tag1;
    public List<Result> parameters;
}
...