fed*_*lov 5 java rest dropwizard
当我使用404响应代码Dropwizard返回自定义html代码(即使Accept标题等于application/json).
控制器方法:
if (o == null) {
return Response.status(Response.Status.NOT_FOUND).build();
} else {
return Response.ok(o).build();
}
Run Code Online (Sandbox Code Playgroud)
Dropwizard响应:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 404 Not Found</title>
</head>
<body><h2>HTTP ERROR 404</h2>
<p>Problem accessing /abc/1. Reason:
<pre> Not Found</pre></p><br/>
<br/>
...
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如何自定义返回体404,503响应代码(等)以返回JSON?
ps
我已经实现了自定义异常映射器.但我不想为这项任务使用例外
您应该使用响应构建器的类型和实体方法.
就像是:
return Response
.status(Response.Status.NOT_FOUND)
.type(MediaType.APPLICATION_JSON_TYPE)
.entity(error).build();
Run Code Online (Sandbox Code Playgroud)
其中错误可序列化为json.
几天后我决定throw new com.sun.jersey.api.NotFoundException()按照我的习惯进行处理WebApplicationExceptionMapper。
| 归档时间: |
|
| 查看次数: |
3419 次 |
| 最近记录: |