我正在用Java创建REST服务,现在我正在构建具有2个参数的post方法,该方法必须在postman中作为xml输入(用于测试),并在Java中获得xml作为响应并将其插入数据库中。
对于初学者来说,我试图使用键和值将值添加为POSTMAN中的“查询参数”。响应为200,但xml为CUI = null Mesaj = null
即使您在邮递员中为两个键都添加了值,两个值都为空。
如何查看这些值?这是Java代码:
@Stateless
@Path("/cererepost")
public class HelloWorldResource {
Resp x = new Resp();
@EJB
private NameStorageBean nameStorage;
/**
* Retrieves representation of an instance of helloworld.HelloWorldResource
* @return an instance of java.lang.String
*/
@POST
@Produces("application/xml")
@Consumes(MediaType.APPLICATION_XML)
public Response postMsg(@PathParam("cui") String cui, @PathParam("mesaj") String mesaj) {
String xmlString = "CUI=" + cui + " Mesaj=" + mesaj;
Response response = Response.status(200).type(MediaType.TEXT_XML).entity(xmlString).build();
return response;
}
}
我应该修改什么,以便可以在postman生成的xml中的post中看到发送的参数值?
预先感谢
答案 0 :(得分:1)
@PathParam("cui") String cui
此行显示客户端的值应作为路径参数而不是查询字符串传递,如下所示:
正确:
/cererepost/some_value
如果要在服务器端获取它们作为查询字符串参数,请将@PathParam("cui")
更改为@QueryParam("cui")
。
要了解query string
和path variables
之间的区别,请关注this post。