当前位置: 首页 > 面试题库 >

如何在Jersey获得JSON正文?

艾文斌
2023-03-14
问题内容

@RequestBody泽西岛有与之相当的东西吗?

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

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


问题答案:

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

@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);
}


 类似资料:
  • 如果我们有一个POJO类,那么我们可以用一些传入的JSON来映射它。我正在努力寻找一种方法,通过这种方法,我可以在内部包含所有普通的json值。 为了前任。

  • 问题内容: 如何使用Jersey 获得请求的完整HTTP REST请求主体? 在我们的例子中,数据将是XML。大小从1K到1MB不等。 该文档似乎表明您应该使用,但我看不到任何示例。 问题答案: 事实证明,您根本不需要做很多事情。 参见下文-参数将包含完整的HTTP正文(本例中为XML)。

  • 问题内容: 我想在我的静态服务中捕获json映射异常,以防输入json无效。 它抛出,但我不知道如何或在何处捕获此异常。我想捕获此异常并发送回适当的错误响应。 一切正常,但是如果json主体格式不正确,则会引发异常。我想抓住这个例外。 问题答案: 最终对我有用的是声明的提供者,例如

  • 我试图让Jersey在我返回对象时序列化它们,就像这样: 当我用例如“john”对此执行POST请求时,它应该用的json表示来响应。但是,它所做的只是给出错误状态500,服务器记录以下内容 全局阅读器拦截器:org.glassfish.jersey.server.internal。MappableExceptionWrapperInterceptor是全局编写器拦截器:org.glassfish

  • 问题内容: 我在我的项目中使用。所有POST数据都以格式发送,并在服务器端解组到各自的bean中。像这样: 向服务器发送请求: 有效负载: 服务器端: MangaBean: 在控制台上输出: 我从这里获得了REST-interceptor实现。 我想访问拦截器中的有效负载(请求主体)。由于数据为JSON格式,因此无法将其作为请求参数进行访问。 有没有办法在拦截器方法中获取请求正文? 请指教。 问题

  • 我有一个测试Web服务项目,我在其中使用REST(泽西)JSON Spring。问题是我不知道如何将它们组合在一起。例如,我有一个have类,它可以与数据库一起使用: 我还有一个JSON类,它获取并返回JSON中的对象: 现在我试着把它们结合起来。我想从DB中获取数据,并将其转换为JSON,然后在响应中返回: 当我用最后一个组合开始项目时,我得到了这个错误: 我的pom.xml: My web.x