我使用Jersey和Spring Boot 1.2.5。我有一个Jersey控制器(注释为@Produces(MediaType.APPLICATION_JSON)
),只要我返回一个ok响应,如
return Response.ok(dto).build();
但每当我尝试返回自定义错误状态时,例如
return Response.status(Status.CONFLICT).build();
它变成了404,例如
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error 404 Not Found</title>
</head>
<body>
<h2>HTTP ERROR 404</h2>
<p>Problem accessing /error. Reason:
<pre> Not Found</pre>
</p>
<hr>
<i>
<small>Powered by Jetty://</small>
</i>
<hr/>
</body>
</html>
有什么想法在这里发生了什么?
答案 0 :(得分:1)
泽西岛希望响应包含一个实体。如果我将空映射与错误代码一起返回,则错误将通过空JSON对象传递到浏览器。
return Response.status(Status.CONFLICT).entity(new HashMap<>()).build();
如果您有更好的解决方案,请随时发表评论。