下面是通过C#和visual studio的Azure功能。问题是req.Form
用于创建RequestDto
对象,如下所示:
public class Function1
{
[FunctionName("Token")]
public async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]
HttpRequest req)
{
var reqDto = new RequestDto
{
UserName = req.Form["username"],
Password = req.Form["password"],
ClientId = req.Form["client_id"],
ClientSecret = req.Form["client_secret"]
};
...
}
}
是否可以使用模型绑定自动填充RequestDto
与ASP.NET CORE 2.x如下所示?
[Route("api/[controller]")]
[ApiController]
public class ConnectController : Controller
{
[HttpPost("token")]
[Consumes("application/x-www-form-urlencoded")]
public async Task<IActionResult> Token([FromForm]RequestDto request)
{
...
}
}
public class RequestDto
{
[FromForm(Name="client_id")]
public string ClientId { get; set; }
[FromForm(Name = "client_secret")]
public string ClientSecret { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
}
我认为您正在寻找的是自定义绑定或Microsoft调用:Azure Functions / WebJobs绑定扩展。如何做到这一点在这里解释:https://github.com/Azure/WebJobsExtensionSamples