Bas*_*nck 3 java rest jax-rs jaxb
使用 JAXB 实现 REST-Web 服务,我们有几种方法可以产生输出。
包含所有这些方法的类用@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }). 如果请求通过了happy-path(没有发生错误),我们会在我们的方法中返回POJO,并且JAXB 会动态地将这些对象编组到application/xmlor 中application/json,因为客户端通过Accept: application/xxx;请求标头中的方式请求它。
我的问题是如何获取请求的内容类型,因为如果发生错误,我们将抛出WebApplicationException一个响应,其中应包含格式化为请求的内容类型的自定义错误消息。
注入 @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
}
Run Code Online (Sandbox Code Playgroud)
Inject HttpHeaders,你有几个选择
public Response doSomething(@Context HttpHeaders headers) {
String accept = headers.getHeaderString(HttpHeaders.ACCEPT);
List<MediaType> acceptableType = headers.getAcceptableMediaTypes();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3497 次 |
| 最近记录: |