java - 如何在 REST Web 服务中使用 json 生成 http 响应?

标签 java web-services rest mongodb jersey

我想在 Web 服务中使用 json 进行响应,如下所示:

HTTP/1.1 200 OK
Content-Type: application/vnd.org.snia.cdmi.dataobject+json
X-CDMI-Specification-Version: 1.0
{
"objectURI" : "/MyContainer/MyDataObject.txt",
"objectID" : "AABwbQAQb/ENV52Ai8a3MA==",
"parentURI" : "/MyContainer/",
"mimetype" : "text/plain",
"metadata" : {
"cdmi_size" : "17"
},
"valuerange" : "0-17",
"value" : "Hello CDMI World!"
}

但现在我只能显示像

HTTP/1.1 200 OK
Content-Type: application/vnd.org.snia.cdmi.dataobject+json
X-CDMI-Specification-Version: 1.0
{
"objectURI" : "/MyContainer/MyDataObject.txt",
"objectID" : "AABwbQAQb/ENV52Ai8a3MA==",
"parentURI" : "/MyContainer/",
}   

如何将 "meta": {....} 放在上面的 "mimetype" 之后。以及如何将 "meta" 获取为 BasicDBObject 或其他类型?我使用 jersey 框架和 java 编写 Web 服务。

谢谢

最佳答案

在 Jersey 将对象序列化为 JSON 之前,您需要使用 JAXB Binding 注释来注释对象。下面是一个示例类,请注意,您可以使用 @XmlType 注释的 propOrder 属性对元素重新排序。还可以为 XML 元素指定方法名称以外的名称。

@XmlRootElement
@XmlType(propOrder = { "name", "elements" })
public class ExampleObject implements Serializable {

    private static final long serialVersionUID = 1L;
    private Collection<String> elements = null;
    private String name = null;

    @XmlElementWrapper(name = "elements")
    @XmlElement(name = "element")
    public Collection<String> getElements() {
        return this.elements;
    }

    public String getName() {
        return this.name;
    }

    public void setElements(final Collection<String> elements) {
            this.elements = elements;
    }

    public void setName(final String name) {
            this.name = name;
    }

}

关于java - 如何在 REST Web 服务中使用 json 生成 http 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6120675/

相关文章:

web-services - RESTful 触发服务器端事件的方式

java - 在 DropWizard 中禁用 Swagger Bundle

java - 如何在一个 Controller 中解决两个 POST 方法

Java UDP 数据包大小对齐

java - Play 2.2 中的性能问题

Java:使用 HashMap ,检索所有值和调用方法

PHP : Curl https xml result returns blank

java - 如何使用 webdriver 和 java 查找日历表中的链接?

java - Corba python 与 web 服务 java 集成

rest - 使用 Jersey 和 tomcat 的 JAXRS 服务中的 404 错误