首页 > 解决方案 > .NET 5.0,Web API,自定义模型状态响应不起作用

问题描述

从 .net core 3.1 迁移到 .net 5.0,添加了覆盖数据注释模型状态,但它仍然输出标准响应

Web API 响应

{
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
  "title": "One or more validation errors occurred.",
  "status": 400,
  "traceId": "00-1c52b58af7ac14479da066f231bd7cc1-026c44e7e2148f4f-00",
  "errors": {
    "WebsiteUrl": [
      "Website url is invalid"
    ],
    "Phone": [
      "Phone number is invalid"
    ],
    "Country": [
      "Country code is invalid"
    ]
  }
}

启动.cs

        //Override modelstate
        services.Configure<ApiBehaviorOptions>(options =>
        {
            options.InvalidModelStateResponseFactory = (context) =>
            {
               //custom api response goes here

                return new BadRequestObjectResult(apiResponse);
            };
        });

标签: asp.net-coreasp.net-core-webapi

解决方案


推荐阅读