我正在尝试创建一个获取必需参数的方法。我是这样做的:
@Path("/insertPerson")
@GET
@UnitOfWork
public short insertPerson(@NotNull @QueryParam("person") Person per)
{ ... }
当我尝试发送没有参数的GET请求时,我收到以下HTML页面:
<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 /person/insertPerson/. Reason:
<pre> Not Found</pre>
</p>
<hr>
<i>
<small>Powered by Jetty://</small>
</i>
<hr/>
</body>
有没有办法控制我因空对象而发回的内容?错误404不够清楚,知道null参数导致了此问题。还有一种方法可以发回一个简单的字符串而不是HTML页面吗?
答案 0 :(得分:0)
我最终做的是搜索一种在出错时自动创建异常的方法。所以我使用了一个ExceptionMapper,它将使用异常消息创建响应:
@Provider
public class CustomExceptionMapper implements ExceptionMapper<Exception>
{
@Override
public Response toResponse(Exception exception)
{
String error = exception.getMessage();
return Response.status(Status.BAD_REQUEST).entity(error).type("text/plain").build();
}
}