我的项目有一个休息界面。对于一个类,我有一个 POST 方法,您可以在其中发布一个 xml,然后我返回一个自定义响应,例如:
<customResponse>Invalid email</customResponse>
如果来自已发布的 xml 的电子邮件不正确 + 我为不同情况定义的其他自定义消息。
对于所有这些,HTTP STATUS 自动设置为 200(OK)。有没有办法改变它?
Ps:我知道我可以抛出一个 Web 应用程序,例如:
throw new WebApplicationException(Response.Status.BAD_REQUEST);
但在这种情况下,我的自定义响应不再包括在内。
所以我只想将我的自定义错误 + 400 作为 http 响应返回。
提前致谢。
评论后更新:我的方法是:
@POST
@Path("{membershipExternalId}")
@Consumes(MediaType.APPLICATION_XML)
@Produces("application/xml")
public CustomResponse invite(){ //code}
您会看到我返回了我的 CUSTOM RESPONSE。如果我会返回简单的响应,我可以设置状态,但在这种情况下,我看不到任何方法。