[英]How to read Request body of an incoming Http Post request in a web api method?
我正在尝试以API方法读取传入的http发布请求的内容。
[HttpPost]
[Route("api/Process")]
public async Task Process())
{
//string result = await Request.Content.ReadAsStringAsync();
NameValueCollection result = await Request.Content.ReadAsFormDataAsync();
}
当我看着提琴手时,请求正文如下。 它在那里显示为“名称/值”对。
Request body:
name: test
total: 200
email: test@test.com
identifier: 493493
如何在API中阅读它们?
ReadAsStringAsync
给
name=test&total=200&email=test@test.com&identifier=493493
ReadAsFormDataAsync
仅提供键集合,包括名称,总数,电子邮件,标识符。 但是没有价值集合。
感谢您的任何建议。
您为什么不只添加一个模型类来收集发布的数据。 您无需手动获取已发布的数据以进行响应。 MVC应该执行它。
public class ProcessInput
{
public string Name { get; set; }
public string Total { get; set; }
public string Email { get; set; }
public string Identifier { get; set; }
}
API方法;
[HttpPost]
[Route("api/Process")]
public async Task Process(ProcessInput input)
{
//var name = input.Name;
}
使用FormCollection:
[HttpPost]
[Route("api/Process")]
public async Task Process(FormCollection form)
{
if (form.AllKeys.Contains("name")) lcName = form["name"].ToString() ?? "";
... etc ...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.