1

我正在使用 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 存储在文件中的答案,并将其附加到邮递员中以进行发送。

4

2 回答 2

1

所以我发现问题出&在代码中。

在将我的数据插入 Postman RAW 文本窗口之前,我需要在 & 上进行全局替换%26

=<Test Value="&gt;Data"></Test>

=<Test Value="%26gt;Data"></Test>
于 2015-01-11T13:16:22.073 回答
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

和下一个正文(开头没有'='字符)

<Test Value="&gt;Data"></Test>
于 2014-11-26T16:29:34.543 回答