WcfRestfulServices 在 Postman 中传递参数而不是正文而不是 QueryString
Posted
技术标签:
【中文标题】WcfRestfulServices 在 Postman 中传递参数而不是正文而不是 QueryString【英文标题】:WcfRestfulServices passing parameters apart from body not QueryString in Postman 【发布时间】:2017-08-12 16:15:36 【问题描述】:当我通过 Postman 中的查询字符串传递参数以访问我的 Wcfrestfulservices 时,它工作正常。 客户邮递员 ::
http://localhost:12345/InvestUtiServices.svc/GetFoliosbyPAN?ApplicationID=jdhd@dkj&Password=ddjkk3ODkk-JhifhR7t4/k=&AppVersion=5.0&DeviceDetails=10.134.4.44&Source=website&PAN=BDXFD2F
服务中::
public Stream GetFoliosbyPAN(string ApplicationID, string Password, string AppVersion, string DeviceDetails, string Source, string PAN)
但是根据客户的要求,我们不应该只从正文通过查询字符串传递参数。 就像在邮递员身上:
http://localhost:51462/InvestUtiServices.svc/GetFoliosbyPAN
"ApplicationID" : "dfdfd",
"Password" : "sddf",
"AppVersion" : "5.0",
"DeviceDetails" : "10.333.3.33",
"Source" : "website",
"PAN" : "dfdddf"
但是值没有传递,我们在点击服务时得到空值。
如何在 POSTMAN 中传递正文中的值?
提前致谢。
【问题讨论】:
【参考方案1】:首先你的方法必须是一个 POST 方法,然后它才会接受 post 参数。
其次,您将参数作为 JSON 对象传递
"ApplicationID" : "dfdfd",
"Password" : "sddf",
"AppVersion" : "5.0",
"DeviceDetails" : "10.333.3.33",
"Source" : "website",
"PAN" : "dfdddf"
因此您需要更改使用包含所有参数作为属性的复杂对象的方法声明
来自
public Stream GetFoliosbyPAN(string ApplicationID, string Password, string AppVersion, string DeviceDetails, string Source, string PAN)
到
public Stream GetFoliosbyPAN(UserInfo info)
其中 UserInfo 将是一个以您的参数作为属性的类。
【讨论】:
以上是关于WcfRestfulServices 在 Postman 中传递参数而不是正文而不是 QueryString的主要内容,如果未能解决你的问题,请参考以下文章
为啥在 Spring Security 的 hasPermission 检查中使用“#post”而不是“post”