![](/img/trans.png)
[英]Produces data annotation not working for xml in asp.net core 2.1
[英]FormDataCollection not working in ASP.NET Core 2.1?
不要使用Core 1.1或2.0進行檢查。 情況是使用FormDataCollection作為控制器方法中的參數時,如下所示:
[Route("[controller]")]
[ApiController]
public class AuthController : ControllerBase
{
[Route("user")]
[HttpPost]
public HttpResponseMessage CheckUser(FormDataCollection form)
{
...
}
}
無論Content-Type標頭如何,它都將返回400 Bad Request 。
但它可以在.NET Framework 4.5中使用:
[RoutePrefix("auth")]
public class AuthController : ApiController
{
[Route("user")]
[HttpPost]
public HttpResponseMessage user(FormDataCollection form)
{
...
}
}
當然我可以使用Request.Form.TryGetValue(key, out var value)
。 但是類FormDataCollection沒有在Core中描述,我很好奇我們可以(也應該)使用它來獲取post參數嗎?
Microsoft.AspNetCore.Mvc.WebApiCompatShim附帶的FormDataCollection 沒有無參數構造函數 ,因此這可能是問題的原因。 根據官方文件 -
為了進行綁定,該類必須具有公共的默認構造函數,並且要綁定的成員必須是公共的可寫屬性。 當發生模型綁定時,將僅使用公共默認構造函數實例化該類,然后可以設置屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.