首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用最小API配置InvalidModelStateResponseFactory

用最小API配置InvalidModelStateResponseFactory
EN

Stack Overflow用户
提问于 2022-03-29 13:18:50
回答 1查看 510关注 0票数 2

在带有控制器的ASP.NET核心中,当在Program.cs中添加以下内容导致模型绑定错误时,我能够自定义错误响应:

代码语言:javascript
运行
复制
builder.Services.Configure<ApiBehaviorOptions>(options =>
{
    options.InvalidModelStateResponseFactory = actionContext =>
    {
        var errors = actionContext.ModelState
            .Where(e => e.Value.Errors.Count > 0)
            .Select(e => new
            {
                Name = e.Key,
                Message = e.Value.Errors.First().ErrorMessage
            }).ToArray();

        return new BadRequestObjectResult(errors);
    };
});

这似乎不适用于最小的API。如何使用最小的API实现相同的结果?

EN

回答 1

Stack Overflow用户

发布于 2022-03-30 09:18:33

最小api不支持Model Binding,因此您不能在最小api中使用InvalidModelStateResponseFactory

微软官方文档如下:

不支持模型绑定,即IModelBinderProvider、IModelBinder。支持可以添加自定义绑定垫片。不支持从表单绑定。这包括绑定IFormFile。我们计划在未来增加对IFormFile的支持。

您可以参考此链接来了解有关minimal api and controller api之间的差异的更多细节。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71662807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档