我正在使用WCF(C#)构建API并使用Postman对其进行测试.我似乎在使用Postman中的"Params"部分时遇到了麻烦,因为它正在将我输入的任何键值对转换为Query String Params.
我的合同如此规定了UriTemplate ......
[OperationContract]
[WebGet(UriTemplate = "/GetClientDataFromAlias/Alias/{alias}",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
GetClientDataFromAliasResponse GetClientDataFromAlias(string alias);
Run Code Online (Sandbox Code Playgroud)
然而,当我通过Postman运行请求时,URL被翻译成以下内容......
http://troikawcf.localhost/ClientWCFService.svc/GetClientDataFromAlias?Alias=myalias
Run Code Online (Sandbox Code Playgroud)
我希望它翻译成以下内容,以符合我的合同
http://troikawcf.localhost/ClientWCFService.svc/GetClientDataFromAlias/Alias/myalias
Run Code Online (Sandbox Code Playgroud)
我错过了Postman中的设置来设置Path格式的所有参数吗?或者我是否需要更改合同以使用查询字符串参数?
请参阅下面的屏幕抓取以获取更多信
非常感谢
我找到了一种方法来实现这一目标.
您可以在Postman中的URL栏中使用占位符,使您仍然可以使用"Params"部分来传递实际值.这对于快速编辑param值非常有用,无需通过URL进行解析.您可以在地址栏中设置您的URL结构,让"Params"部分完成剩下的工作.
要执行此操作,您需要像正常情况一样将路径参数添加到URL,但不添加值,而是添加前缀为冒号的占位符.占位符现在将自动显示在"键"列中的"参数"部分中.您可以在"值"列中添加实际参数值,以便在运行请求时,占位符将与实际值交换出来.
这是一个例子: - http://troikawcf.localhost/ClientWCFService.svc/GetClientDataFromAlias/Alias/:Alias
这是一个Postman的屏幕截图,以进一步澄清: -
我希望将来可以帮助其他人,因为它困扰了我几天为什么REST客户端不支持Path Params.
| 归档时间: |
|
| 查看次数: |
2769 次 |
| 最近记录: |