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

在Jersey服务中使用JSON对象

劳宇
2023-03-14
问题内容

我一直在搜寻我的屁股,试图找出如何做到这一点:我有一个Jersey REST服务。调用REST服务的请求包含一个JSON对象。我的问题是,从Jersey
POST方法实现中,如何获得对HTTP请求正文中的JSON的访问?

任何提示,技巧,示例代码的指针,将不胜感激。

谢谢…

-史蒂夫


问题答案:

我不确定如何获取JSON字符串本身,但是您当然可以获取其中包含的数据,如下所示:

定义一个具有JAXB注释的Java类(C),该类具有与在请求上传递的JSON对象相同的结构。

例如对于JSON消息:

{
  "A": "a value",
  "B": "another value"
}

使用类似:

@XmlAccessorType(XmlAccessType.FIELD)
public class C
{
  public String A;
  public String B;
}

然后,您可以在资源类中使用类型C的参数定义一个方法。当Jersey调用您的方法时,将基于POSTed JSON对象创建JAXB对象。

@Path("/resource")
public class MyResource
{
  @POST
  public put(C c)
  {
     doSomething(c.A);
     doSomethingElse(c.B);
  }
}


 类似资料:
  • 资源 ComplexObject类只是一个带有字符串的类。当我点击URL:http://localhost:8080/simple-service-webapp/webapi/myresource/This work时,我得到的是“get it!” 但是当我点击:http://localhost:8080/simple-service-webapp/webapi/myresource/comple

  • 问题内容: 我想将JSON-Post中的值解析为Java-Variables。但是它们总是空的! JSON发布: 我尝试将其解析为Java变量: 如果我这样尝试: Tomcat说: Java类int,Java类型int和MIME媒体类型application / json的消息正文阅读器;找不到字符集= UTF-8。 任何帮助都很好,我只是不明白。 问题答案: 您需要创建一个POGO,Jersey

  • 您好,我正在开发一个iOS项目,我正在向我的REST web服务发送一个json数组,该服务使用JAVA和Jersey以及Google Gson。我在SO上看到了几个类似的问题,比如link,但我不知道如何找到解决方案。这里我向服务器发送JSON数组,它的结构如下 下面是我使用JSON数组的Java类 我需要创建Friends类并将json对象映射到该类吗?请帮我写一些代码 欢迎提供任何例子或解释

  • 问题内容: 在一个较大的项目中,我很难获得WCF服务方法来使用JSON参数。因此,我制作了一个较小的测试用例,并产生了相应的行为。如果我调试服务,则可以在服务调用中看到参数值为null。Fiddler确认正在发送JSON,JsonLint确认它有效。 下面的代码带有调试注释。 …及其实施 调用前三个方法中的任何一个都可以正常工作(但没有参数,您会注意到)。使用此客户端代码调用最后一个方法(Tota

  • 问题内容: 我正在尝试将Jersey 2.13 Web服务部署到Weblogic 12.1.1。此版本的weblogic符合JSR-311 JAX-RS 1.1规范,而Jersey 2.x提供了JAX-RS 2.0的实现。 Oracle提供了有关如何升级Jersey JAX-RS RI版本的说明:http : //docs.oracle.com/cd/E24329_01/web.1211/e249

  • 我试图将Jersey 2.13 web服务部署到WebLogic12.1.1。weblogic的这个版本符合JSR-311 JAX-RS 1.1规范,而Jersey 2.x提供了JAX-RS 2.0的实现 Oracle提供了关于如何升级Jersey JAX-RS RI版本的说明:http://docs.Oracle.com/cd/e2432901/web.1211/e24983/version.h