我有一个用例,我需要接受application/x-www-form-urlencoded
个帖子数据并消耗查询字符串
[httpPost]
public void GetDetails([FromQuery] username)
{
using (var reader = new StreamReader(Request.Body))
{
try
{
var line = await reader.ReadToEndAsync();
}
catch(exception ex)
{
//Do something
}
}
}
为此,当我在Request.Body
以上尝试时,流为null
,
我有一个解决方案,可以删除[FromQuery]
并通过Reqeust.QueryString
读取查询字符串,但是我们还有其他选择吗
答案 0 :(得分:1)
[FromQuery]
和[FromForm]
可以结合使用来绑定参数。
[HttpPost]
public IActionResult GetDetails([FromQuery] string username, [FromForm] string formData) {
//...Do something
return Ok();
}
虽然上面的示例采用字符串形式的表格数据,但是如果需要,它也可以用于绑定到更复杂的对象。