我正在使用PostMan将(Xml)内容重新发送到webAPI方法。不幸的是,Xml内容在字符串中指定>
的位置被截断(xml包含xml已经url编码的属性)
我无法更改xml的格式,因为它已经从应用程序中使用了,因为我只是从sql中的表中提取值,并将其重新发布到api以进行测试。我需要能够按原样提取数据,并通过PostMan将其重新发布到api,只需要很少的努力(我可能必须使用不同的数据重复执行此操作)。
API签名是:
public HttpResponseMessage Put([FromBody]string userDataSetString, [FromUri(Name = "V")]string apiVersion)
这是我在PostMan中的数据:
当我针对API执行此操作时,userDataSetString
参数具有:
<Test Value="
我是否需要在标题中添加一些内容以使其能够应对此问题?
编辑作为替代方案,我还会接受任何将xml存储在文件中的答案,并将其附在邮递员中以便发送。
答案 0 :(得分:1)
所以我发现问题是由于代码中存在&
。
在将我的数据插入Postman RAW文本窗口之前,我需要对&amp ;;进行全局替换。与%26
<强>之前强>
=<Test Value=">Data"></Test>
<强>后强>
=<Test Value="%26gt;Data"></Test>
答案 1 :(得分:0)
您可以使用HttpRequestMessage
:
public HttpResponseMessage Put(HttpRequestMessage request, [FromUri(Name = "V")]string apiVersion)
{
var xml = request.Content.ReadAsStringAsync().Result;
...
return new HttpResponseMessage();
}
并发布下一个标题:
content-type: application/x-www-form-urlencoded
和下一个身体(开头没有&#39; =&#39;字符)
<Test Value=">Data"></Test>