1 回答
TA贡献1890条经验 获得超9个赞
我已经尝试过,并在本地也复制了这个问题。首先我尝试使用单个Account
对象,然后将方法签名更新为 accept List<Account>
。快速检查后,我发现了以下描述此行为的GitHub 问题。
有一个关于该问题的评论,它引用了以下源文件行,其中代码明确排除了数组
var additionalBindingData = parsed.Children<JProperty>() .Where(p => p.Value != null && (p.Value.Type != JTokenType.Array))
似乎实现这一目标的唯一方法是使用解决方法。
另一种方法是使用ReadAsAsync<T>
扩展方法。
namespace StackOverflow.AccountsQuestion
{
public sealed class AccountFunction
{
private readonly ILogger m_logger;
public AccountFunction(ILoggerFactory loggerFactory)
{
m_logger = loggerFactory.CreateLogger<AccountFunction>();
}
[FunctionName("AccountFunction")]
public async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "v1/accounts")] HttpRequestMessage request)
{
m_logger.LogInformation("C# HTTP trigger function processed a request.");
var accounts = await request.Content.ReadAsAsync<List<Account>>();
return new OkObjectResult(accounts);
}
}
public class Account
{
public string Name { get; set; }
public string Description { get; set; }
}
}
- 1 回答
- 0 关注
- 82 浏览
添加回答
举报