我在使用JAX-RS资源时遇到麻烦。将404(Response.Status.NOT_FOUND)返回到我的自定义纯文本消息“找不到文件”时,无法以某种方式设置文本/纯文本主体。它适用于我测试过的几乎所有其他响应代码。在Postman / Chrome中,正文为空。我在这里错过了什么吗? PS。通过Helidon.io使用JAX-RS。
@Path("/")
public class FileResource {
@GET
@Path("{path}")
@Produces({MediaType.TEXT_PLAIN, MediaType.APPLICATION_XML})
public Response getFile(@PathParam("path") String path) {
File file = new File(path+"/file.xml");
if (file.exists()) {
return Response.ok((Object) file).build();
}
//Following two returns work (ie. provides correct "File not Found" body):
//return Response.status(Response.Status.NO_CONTENT).entity("File not found").type("text/plain").build();
//return Response.status(Response.Status.BAD_REQUEST).entity("File not found ").type("text/plain").build();
//...but THIS return does not work (results in 404 but with empty body) How come?:
return Response.status(Response.Status.NOT_FOUND).entity("File not found").type("text/plain").build();
}
}