gpt4 book ai didi

java - 如何获取 REST 请求的请求内容类型?

转载 作者:行者123 更新时间:2023-11-30 07:00:48 24 4
gpt4 key购买 nike

使用 JAXB 实现 REST-Web 服务,我们有几种方法可以产生输出。

包含所有这些方法的类使用 @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) 注释。如果请求顺利通过(没有错误发生),我们将在我们的方法中返回 POJO,JAXB 将这些对象动态编码到 application/xmlapplication/json 中,因为客户端通过请求 header 中的 Accept: application/xxx; 请求它。

我的问题是如何获取请求的内容类型,因为如果发生错误,我们将抛出一个 WebApplicationException 并在响应中包含格式化为请求的内容类型的自定义错误消息。

最佳答案

你可以...

注入(inject)@HeaderParam("Accept")

public Response doSomething(@HeaderParam("Accept") String accept) {
// you may need to parse it as the value is not always as
// simple as application/json
}

你可以...

注入(inject) HttpHeaders ,你有几个选择

public Response doSomething(@Context HttpHeaders headers) {
String accept = headers.getHeaderString(HttpHeaders.ACCEPT);
List<MediaType> acceptableType = headers.getAcceptableMediaTypes();
}

关于java - 如何获取 REST 请求的请求内容类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30259845/

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