gpt4 book ai didi

jersey - JAX-RS Jersey - 如何强制响应 ContentType?覆盖内容协商

转载 作者:行者123 更新时间:2023-12-01 09:08:51 26 4
gpt4 key购买 nike

Jersey 通过查看接受 header 来识别请求。我有一个只接受 text/* 的请求 - 我如何强制响应为例如 application/json?

@POST
@Path("/create")
@Produces(MediaType.APPLICATION_JSON)
public MyResponseObject create() {
return new MyResponseObject();
}

如果请求被定向到只接受文本/* jersey 的创建将返回 500。有没有办法解决这个问题? (我无法更改请求接受 header )。

最佳答案

Jersey 也通过 ResourceConfig 支持此功能您可以在 web.xml 中或通过 Jersey API 以编程方式配置的属性 PROPERTY_MEDIA_TYPE_MAPPINGS,如下所示:

 DefaultResourceConfig rc = new DefaultResourceConfig(MyResource.class);
rc.getMediaTypeMappings().put("json", MediaType.APPLICATION_JSON_TYPE);
rc.getMediaTypeMappings().put("xml", MediaType.APPLICATION_XML_TYPE);
SimpleServerFactory.create("http://localhost:9090", rc);

您可以通过在 URL 中添加 .json 或 .xml 后缀来强制进行内容类型协商。

关于jersey - JAX-RS Jersey - 如何强制响应 ContentType?覆盖内容协商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3677064/

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