2

我有一个“查找”WebAPI 服务,它返回查找表数据,如称呼(Mr Mrs 等)和一些更长的(例如业务类型)。

为了省去手动填充查找表的麻烦,我添加了一个 HttpPost 方法,假设我可以使用 Fiddler2 在正文中简单地传递一行分隔的数据集。这样我就可以将数据列表粘贴到 fiddler 并在几秒钟内添加我所有的查找:

    // post api/lookup/lookupName
    [HttpPost]
    public void SaveNewLookups([FromUri(Name="id")] string lookupName, [FromBody]string body)

但是现在无论我为内容类型尝试了什么,当方法被命中时,body 参数始终为 null。

我通过使用以下代码访问原始正文文本来解决它,但是让参数化版本工作会很好:

string body = Request.Content.ReadAsStringAsync().Result;

我不想对数据使用 JSON 或其他格式,因为这会破坏使用简单文本列表的目的。

4

2 回答 2

5

放入'Content-Type: application/x-www-form-urlencoded'请求标头,然后将您的字符串内容放入前面加上等号(=)的提琴手。例如:

=datavalue1
datavalue2

您应该在控制器中收到您的数据值:

datavalue1\r\ndatavalue2
于 2013-06-25T11:15:15.673 回答
4

PlainTextFormatter添加到格式化程序列表并将内容类型设置为text/plain

于 2013-06-25T11:32:05.527 回答