gpt4 book ai didi

java - Rest资源文件中的两个方法具有相同的@Path但不同的mediaType输出

转载 作者:行者123 更新时间:2023-11-30 03:08:24 26 4
gpt4 key购买 nike

我的 Java Rest 资源文件中有 2 个方法,它们具有相同的 @Path uri,但 @products 不同。代码如下:

@GET
@Path("/messages")
@Produces(MediaType.APPLICATION_XML)
public List<Message> getAllMessages() {


return new ArrayList<Message>(service.getMessageMap().values());
}

@GET
@Path("/messages")
@Produces(MediaType.APPLICATION_JSON)
public List<Message> getAllMessagesJSON() {


return new ArrayList<Message>(service.getMessageMap().values());
}

当我用 POSTMAN 休息客户端测试它时,我总是得到 JSON 输出!!有人可以解释一下为什么吗?如果我想获得 xml 和 json 输出,该怎么办?我尝试将内容类型更改为 application/xml..但我总是得到 json!!

最佳答案

Content-Type用于发送数据的类型,可以是客户端作为请求 header 发送,也可以是服务器作为响应 header 发送。因此,作为客户端发送 header 是无用的,因为您没有发送任何数据。对于客户端来说,当它想告诉服务器它想要什么类型时,它使用 Accept: <media-type> header 。

当没有Accept时 header 设置,通常默认为*/*根据您的情况选择哪种方法供您选择。

关于java - Rest资源文件中的两个方法具有相同的@Path但不同的mediaType输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34186326/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com