Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 除了@products注释之外,Jersey(JAX-RS)如何知道将POJO视为特定的mime类型?_Java_Rest_Jersey_Jax Rs - Fatal编程技术网

Java 除了@products注释之外,Jersey(JAX-RS)如何知道将POJO视为特定的mime类型?

Java 除了@products注释之外,Jersey(JAX-RS)如何知道将POJO视为特定的mime类型?,java,rest,jersey,jax-rs,Java,Rest,Jersey,Jax Rs,我看到很多类似于这样的泽西衫示例: public class ItemResource { @GET @Path("/items") @Produces({"text/xml", "application/json"}) public List<Item> getItems() { List<Item> items = new ArrayList<Item>(); Item item = ne

我看到很多类似于这样的泽西衫示例:

public class ItemResource {

    @GET
    @Path("/items")
    @Produces({"text/xml", "application/json"})
    public List<Item> getItems() {
        List<Item> items = new ArrayList<Item>();

        Item item = new Item();
        item.setItemName("My Item Name!");
        items.add(item);

        return items;
    }
}

我正在寻找逐步介绍这种“翻译”的教程,或者这里介绍如何将POJO翻译为特定mime类型的输出。谢谢

这里有两件事在起作用。首先,@products注释中的媒体类型用于内容协商。将客户端发送的Accept标头值中的媒体类型与@Products注释中的媒体类型进行比较,并选择最合适的媒体类型。假设您的示例中是text/xml

在构造响应主体时,Jersey试图找到一个MessageBodyWriter,该MessageBodyWriter可以将项对象转换为文本/xml。通常程序员提供这些“映射器”类,但对于XML和JSON,Jersey已经为方便起见内置了MessageBodyReaders

这就是为什么看起来好像有什么魔法在发生

一月

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "flight"
})
@XmlRootElement(name = "flights")