这个JAX-RS 404响应怎么变得空无一物?

时间:2018-11-27 18:34:51

标签: jax-rs

我在使用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();
}   
}

0 个答案:

没有答案