JAX-RS @consume("text/plain") 没有得到字符串

JAX-RS @consume("text/plain") does not get the String

我有这样的方法,

@POST
@Produces(MediaType.APPLICATION_XML)
@Consumes("text/plain")
public File addFile(String filePath){
    return fileService.addFile(filePath);
}

我正在使用 "Postman rest client" 来测试 post 请求,只需在原始文件中键入 c:\myFile.txt 之类的路径节

但是没有字符串被传递给方法,但是当我对路径进行硬编码时它起作用了

是@consume的问题吗?

请看下面的答案

@POST
@Produces(MediaType.APPLICATION_XML)
@Consumes(MediaType.TEXT_PLAIN)
public File addFile(String filePath){
    return fileService.addFile(filePath);
}

和 header 内容类型 作为 text/plain 从 postman

发送请求到服务器

参考下图

如上所述,没有使用 Jax-RS 获取请求主体的注解;服务的原始定义是正确的。 问题可能来自邮递员设置。 你应该 select Body > raw > Text (text/plain)。