我如何在泽西岛获得JSON身体?

时间:2016-12-15 06:41:17

标签: java rest jersey dropwizard

泽西岛是否有@RequestBody个等同物?

@POST()
@Path("/{itemId}")
@Consumes(MediaType.APPLICATION_JSON)
public void addVote(@PathParam("itemId") Integer itemId, @RequestBody body) {
    voteDAO.create(new Vote(body));
}

我希望能够以某种方式获取POSTed JSON。

3 个答案:

答案 0 :(得分:11)

您不需要任何注释。没有注释的唯一参数将是请求体的容器:

@POST()
@Path("/{itemId}")
@Consumes(MediaType.APPLICATION_JSON)
public void addVote(@PathParam("itemId") Integer itemId, String body) {
    voteDAO.create(new Vote(body));
}

或者你可以将身体解析为对象:

@POST()
@Path("/{itemId}")
@Consumes(MediaType.APPLICATION_JSON)
public void addVote(@PathParam("itemId") Integer itemId, Vote vote) {
    voteDAO.create(vote);
}

答案 1 :(得分:1)

@POST()
@Path("/{itemId}")
@Consumes(MediaType.APPLICATION_JSON)
public void addVote(@PathParam("itemId") Integer itemId, <DataType> body) {
    voteDAO.create(new Vote(body));
}

应该已经在这里帮助你了,只是必须使用注释来标记其余的参数,因为它们是不同类型的参数 -

$args=array(
  "post_type" => "post_type",
  "post_status" => "publish",
  "meta_query"    => array(

             'key_1_clause' => array(
            'key' => 'key_1',

        ),
     'key_2_clause' => array(
            'key' => 'key_2',

        ),


),
    'orderby' => array(
     "meta_value_num" => "DESC",
        'key_1_clause' => 'DESC',
        'key_2_clause' => 'DESC',
    ),

 "posts_per_page" => 10
);

答案 2 :(得分:-3)

如果你想让你的json作为投票对象然后在你的mathod参数中简单地使用@RequestBody Vote body,Spring将自动转换你的Json in Vote Object。