2015-10-20 72 views
0

我有方法一样,JAX-RS @consume(“text/plain的”)没有得到字符串

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

,我使用“邮差其余客户端”来测试POST请求,并简单地键入像路径C:\ MYFILE.TXT在原料部分

但没有字符串被传递给方法,但是当我硬代码路径它的工作原理

是从@consume问题?

+1

您是否从邮递员下拉菜单中选择了“text/plain”? – yogidilip

+0

@yogidilip,现在我做了,但没有区别 –

+1

您是否需要将@RequestBody添加到您的参数中?例如,'公共文件addFile(@RequestBody字符串filePath){'(我可能会想到这里的春天MVC ...) – BretC

回答

1

请参考下面

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

的答案,因为文本标题内容类型 /纯而从邮递员

发送请求到服务器,供您参考,请参见下面 enter image description here图像

+0

谢谢,它的工作原理是内容类型未在预设中注册 –

0

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