Java Jersey服务器:返回字符串和非200返回码
我有以下方法:Java Jersey服务器:返回字符串和非200返回码,java,jersey,Java,Jersey,我有以下方法: @GET @Path("/myFunc") public String myFunc(@QueryParam("input") String input) { if (! input.startsWith("123")) { return "Usage error: input must start with '123'"; } return "Success"; } 问题是,从逻辑上讲,当我返回字符串“用法错误:输入必须以“123”开头
@GET
@Path("/myFunc")
public String myFunc(@QueryParam("input") String input) {
if (! input.startsWith("123")) {
return "Usage error: input must start with '123'";
}
return "Success";
}
问题是,从逻辑上讲,当我返回字符串“用法错误:输入必须以“123”开头时,返回的代码是200。如何更改该值,以便在将返回代码更改为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();
}
对于这种情况,您可以使用
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();
}
我在代码的最后一行添加了.build()
。你的回答很中肯,非常完美(非常有用!),谢谢!我在代码的最后一行添加了.build()
。你的回答很中肯,非常完美(非常有用!),谢谢!