在ASP.NET Core中,什么类用于模型验证错误响应



在我的ASP.NET Core web API中,我使用数据注释进行模型验证。这里有一个类有这些注释:

class CreateUserRequest {
    [Required, RegularExpression("[a-zA-Z0-9-_]+")]
    public string Name { get; set; }
    [Required, StringLength(20, MinimumLength = 6)]
    public string Password { get; set; }
}

如果客户端试图创建一个密码太短的用户,我会得到以下响应体:

{
    "errors": {
        "password":[
            "The field password must be a string with a minimum length of 6 and a maximum length of 20."
        ]
    },
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "One or more validation errors occurred.",
    "status": 400,
    "traceId":"|a301aaae-43dd49e731beb073."
}

我希望从API返回的所有错误都有一个一致的结构,使客户端更容易处理错误。有没有一个类可以用来在其他错误情况下获得相同的结构?

您正在查找ValidationProblemDetails

如果你想在响应中返回额外的属性,你可以简单地扩展上面提到的类并添加你需要的任何东西,然后用类的实例调用ControllerBase.ValidationProblem(ValidationProblemDetails),而不是使用对BadRequest()的标准调用。

最新更新