一种方法是引发WebApplicationException,如Pace所述,如果您要专门处理错误情况,该方法将起作用。如果您希望由于任何原因能够随时更改内容,那么您将希望看看作为服务方法而不是字符串返回结果的响应。返回响应可以最大程度地控制服务对客户端请求的响应方式(与返回简单字符串相比,它确实需要更多代码)。
这是一个如何使用Response对象的示例:
@GET@Path("json/{fullAlias}")public Response json(@PathParam("fullAlias") String fullAlias, @Context MessageContext req) { ... if (success) { ResponseBuilder rBuild = Response.ok(responseData, MediaType.APPLICATION_JSON); return rBuild.build(); } else { ResponseBuilder rBuild = Response.status(Response.Status.BAD_REQUEST); return rBuild.type(MediaType.TEXT_PLAIN) .entity("error message") .build(); } }


