[英]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.