我有一个“查找”WebAPI服务,它返回查询表数据,如Salutations(Mr Mrs etc)和一些更长时间(例如业务类型)。
为了省去自己手动填充查找表的麻烦我添加了一个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或其他格式,因为这会破坏使用简单文本列表的目的。
答案 0 :(得分:5)
将'Content-Type: application/x-www-form-urlencoded'
放入请求标头中,然后将字符串内容放入fiddler,前面带有等号(=)。例如:
=datavalue1
datavalue2
您应该在控制器中收到您的数据值:
datavalue1\r\ndatavalue2
答案 1 :(得分:4)
在格式化列表中添加PlainTextFormatter,并将内容类型设置为text/plain