Jersey 服务器:Return 一个字符串和一个非 200 return 代码
Jersey server: Return a string and a non-200 return code
我有以下方法:
@GET
@Path("/myFunc")
public String myFunc(@QueryParam("input") String input) {
if (! input.startsWith("123")) {
return "Usage error: input must start with '123'";
}
return "Success";
}
问题是逻辑上,当我 return 字符串 "Usage error: input must start with '123'"
时,return 代码是 200。我怎样才能改变它,这样我就可以 return 字符串,同时将 return 代码更改为 400?
对于这种情况,您可以使用 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();
}
我有以下方法:
@GET
@Path("/myFunc")
public String myFunc(@QueryParam("input") String input) {
if (! input.startsWith("123")) {
return "Usage error: input must start with '123'";
}
return "Success";
}
问题是逻辑上,当我 return 字符串 "Usage error: input must start with '123'"
时,return 代码是 200。我怎样才能改变它,这样我就可以 return 字符串,同时将 return 代码更改为 400?
对于这种情况,您可以使用 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();
}