我有以下方法:
@GET
@Path("/myFunc")
public String myFunc(@QueryParam("input") String input) {
if (! input.startsWith("123")) {
return "Usage error: input must start with '123'";
}
return "Success";
}
问题在于逻辑上,当我返回字符串"Usage error: input must start with '123'"
时,返回代码是200.如何更改它,以便我可以返回字符串,同时将返回代码更改为400 ?
答案 0 :(得分:5)
您可以使用javax.ws.rs.core.Response
类型来处理此类情况 - 请按以下方式进行:
@GET
@Path("/myFunc")
public Response myFunc(@QueryParam("input") String input) {
if (! input.startsWith("123")) {
return Response.status(Status.BAD_REQUEST)
.entity("Usage error: input must start with '123'")
.build();
}
return Response.ok("Success").build();
}