Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.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 在Spring和Jersey中是否可以同时返回xml或json?_Java_Spring_Jersey - Fatal编程技术网

Java 在Spring和Jersey中是否可以同时返回xml或json?

Java 在Spring和Jersey中是否可以同时返回xml或json?,java,spring,jersey,Java,Spring,Jersey,只是和spring和jersey做一点比较 好奇一个方法是否可以同时返回xml或json 可能默认为xml,但有一个可选标志将返回json 可能吗?您提到了Jersey,所以我假设您指的是REST实现。如果资源设置正确,Jersey将自动将您的内容序列化为XML和JSON。您只需为您的@制作批注指明更广泛的媒体类型: @GET @Path("/somepath") @Produces({MediaType.APPLICATION_JSON, MediaType.TEXT_XML}) public

只是和spring和jersey做一点比较

好奇一个方法是否可以同时返回xml或json

可能默认为xml,但有一个可选标志将返回json


可能吗?

您提到了Jersey,所以我假设您指的是REST实现。如果资源设置正确,Jersey将自动将您的内容序列化为XML和JSON。您只需为您的
@制作
批注指明更广泛的媒体类型:

@GET
@Path("/somepath")
@Produces({MediaType.APPLICATION_JSON, MediaType.TEXT_XML})
public MyBean getData() ;
其中,
MyBean
是一个适当的JAXB注释POJO。使用此资源端点定义,调用者可以通过
Accept:
标题指定所需的内容类型:

GET http://www.example.com/somepath
Accept: text/xml

您提到了Jersey,所以我假设您指的是REST实现。如果资源设置正确,Jersey将自动将您的内容序列化为XML和JSON。您只需为您的
@制作
批注指明更广泛的媒体类型:

@GET
@Path("/somepath")
@Produces({MediaType.APPLICATION_JSON, MediaType.TEXT_XML})
public MyBean getData() ;
其中,
MyBean
是一个适当的JAXB注释POJO。使用此资源端点定义,调用者可以通过
Accept:
标题指定所需的内容类型:

GET http://www.example.com/somepath
Accept: text/xml

Spring提供了ContentNegotiatingViewResolver,旨在提供此功能。文档中的示例:


描述了HTML和JSON之间的切换,但可以使用JAXB或其他一些XML序列化程序轻松地对其进行扩展以支持XML。进一步阅读:


我将发布一个使用XML和Jersey的示例,但我不熟悉Jersey的bean。

Spring提供了一个ContentNegotiatingViewResolver,旨在提供此功能。文档中的示例:


描述了HTML和JSON之间的切换,但可以使用JAXB或其他一些XML序列化程序轻松地对其进行扩展以支持XML。进一步阅读:


我会发布一个使用XML和Jersey的示例,但我不熟悉Jersey的bean。

如果get请求没有指定,它会默认为json之类的第一个类型吗?@user1361315我的经验是它会选择第一个类型,但我从未找到任何文档来确认该行为。如果您有两个方法,每个方法具有不同的products,它将选择Java 7之前的第一个方法,以及Java 7中的随机方法。@我假设它是json和html的有效组合,就像json和XML一样。正确吗?@manocha_ak作为端点支持的媒体类型声明,没有实际限制。您可以指定受支持甚至不受支持的类型的任意组合。如果get请求没有指定,它会默认为json之类的第一种类型吗?@user1361315我的经验是它会选择第一种类型,但我从未找到任何文档来确认该行为。如果您有两个方法,每个方法具有不同的products,它将选择Java 7之前的第一个方法,以及Java 7中的随机方法。@我假设它是json和html的有效组合,就像json和XML一样。正确吗?@manocha_ak作为端点支持的媒体类型声明,没有实际限制。您可以指定支持的甚至不支持的类型的任意组合。