如何发送包含"%"在REST (c# WCF)服务中
本文关键字:quot WCF 服务 何发送 包含 REST | 更新日期: 2023-09-27 18:16:38
我有这样一个函数,它返回经过正确身份验证的用户的代码
[OperationContract]
[WebInvoke(Method = "GET",
UriTemplate = "67g09k2r8/{usu}/{pas}",
ResponseFormat = WebMessageFormat.Json)]
int Login(String usu, String pas);
在我从SoapUI执行测试时运行良好。这里有一个测试
好但是当我尝试使用包含字符"%"的参数时,我得到这个错误
误差你能告诉我如何解决这个问题吗?
%符号用于url中的编码。它必须后跟2个十六进制数字,表示字符代码。点击这里阅读更多内容http://www.w3schools.com/tags/ref_urlencode.asp
如果你真的想在url中发送"%"符号,你必须通过输入"%25"来编码它。
临时解决方案是更改POST方法,这样我就解决了。
新函数:
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "67g09k2r8",
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
RequestFormat = WebMessageFormat.Json)]
int Login(String usu, String pas);