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”

易语言 如何提交post数据。

将所有 POST 数据存储在 SESSION 中

get 和 post 请求的区分

$ .post()之后的代码在post-request完成之前执行

POST 请求在 Phoenix 中变为 200 OPTIONS 但未发送以下 POST