我有一个项目的rest接口。其中一个类有一个POST方法,您可以在该方法中发布XML,并返回一个自定义响应,例如:
对于所有这些情况,HTTP状态都会自动设置为200(OK)。是否有任何方法可以更改它?
附注:我知道可以像这样抛出Web应用程序:
但在这种情况下,我的自定义响应不再包括在内。 所以我只想返回我的自定义错误+400作为http响应。 提前致谢。
评论后更新: 我的方法是:
<customResponse>Invalid email</customResponse>
如果发布的XML中的电子邮件不正确,则会返回此响应,还有其他我为不同情况定义的自定义消息。对于所有这些情况,HTTP状态都会自动设置为200(OK)。是否有任何方法可以更改它?
附注:我知道可以像这样抛出Web应用程序:
throw new WebApplicationException(Response.Status.BAD_REQUEST);
但在这种情况下,我的自定义响应不再包括在内。 所以我只想返回我的自定义错误+400作为http响应。 提前致谢。
评论后更新: 我的方法是:
@POST
@Path("{membershipExternalId}")
@Consumes(MediaType.APPLICATION_XML)
@Produces("application/xml")
public CustomResponse invite(){ //code}
您看到我返回了自定义响应。如果我返回简单的响应,我可以设置状态,但在这种情况下我看不到任何方法。
javax.ws.rs.core.Response.Status.BAD_REQUEST
是代表状态 400 的常量。 - Christophe Roussy