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

如何返回Java列表 Json使用Jax-RS

微生乐
2023-03-14
问题内容

我想知道如何对方法返回List的JSON数组,例如:

@GET 
@Produces("application/json")
public List<String> aMethod(){
  return Array.asList("text1", "text2", "text3");
}

我想知道如何在我的方法中接收List参数类型

@PUT
@Consumes("application/json") void otherMethod(List<String>){
   // do something ;
}

我已经阅读了有关JaxbContext的文章,我了解它如何为我提供帮助。


问题答案:

使用JAXB时,List支持两种类型。第一个是元素列表,第二个是元素定界字符串(“常规”
XML值或属性,使用某些定界符将其解析为列表)。第一个似乎是您想要的(“数组”)。

有关参考,请参见:http
:
//jaxb.java.net/jaxb20-ed/api/javax/xml/bind/annotation/XmlList.html

您会注意到,在两种情况下,所需的列表都需要由其他对象封装。从根本上讲,XML(以及扩展名JAXB)喜欢将所有内容追溯到单个根节点/对象。因此,要进行建模,您需要这样的东西:

@XmlRootElement(name="wrapper")
public abstract class ListWrapper {
   public List<String> names;
}

然后,您的方法将需要更改为接受/返回ListWrapper对象并从中提取实际的List。



 类似资料:
  • 问题内容: 我正在构建RESTful API,并希望为开发人员提供选择以在JSON响应中返回哪些字段的选项。 这篇博客文章显示了几个API(Google,Facebook,LinkedIn)如何允许开发人员自定义响应的示例。这称为部分响应。 一个示例可能看起来像这样: 在上面的示例中,API应该返回用户“ 123”的userId,fullName和title字段。 我正在寻找有关如何在我的REST

  • 问题内容: 到目前为止,我将通过以下方式返回html我的主页: 我想要做的是返回home.html本身,而不是复制其内容并返回字符串。 我该怎么做呢?谢谢 :) 问题答案: 您可以只返回或的实例,JAX-RS会做正确的事。

  • 问题内容: 在执行简单程序时,我注意到了这个问题。 编译错误返回为。但是在Java中是不允许的,为什么会出现这种编译错误? 我没有在这里问关于自动装箱的问题,我只是想知道如何返回。 asList的实现是 因此,将int []视为T才是这种情况的原因。 问题答案: 中的基础int没有自动自动装箱。 实际上是一个对象,而不是原始对象。 在这里返回。确实是无效的语法。 您可以使用: List examp

  • 问题内容: 我不知道如何用代码返回JSON数据。 JS C#的Default.aspx.cs 提前致谢! 问题答案: 你不远 您需要执行以下操作: 您可以进一步减少此代码,但为清晰起见,我将其保留下来。实际上,您甚至可以这样写: 这将返回一个json字符串。我宁愿更加明确,因为我使用自定义转换器。也有Json.net,但是框架的工作开箱即可。

  • 问题内容: 我正在使用Bottle编写一个API ,到目前为止,一切都很棒。但是,在尝试返回JSON数组时遇到了一个小障碍。这是我的测试应用程序代码: 当我运行它并请求每条路线时,我会从前两条路线得到我期望的JSON响应: /单 / containsarray 因此,我曾期望返回一个字典列表来创建以下JSON响应: 但是,请求路线只会导致错误。我在做什么错,如何以这种方式返回JSON数组? 问题答