首页 > 解决方案 > 我可以使用模型验证来验证 .Net Core 中的 HTTP 标头吗?

问题描述

我有一个使用自定义标头的模型验证:

[HttpGet("")]
public async Task<IActionResult> GetData([FromHeaderCustomerId, CustomerId] string customerId)

这 2 个属性从 header 中读取并验证 header。如果验证没有通过,我会得到类似的东西:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "One or more validation errors occurred.",
    "status": 400,
    "traceId": "someId",
    "errors": {
        "X-Customer-ID": [
            "The customerId field is required."
        ]
    }
}

这工作得很好,但我确实有额外的标题,我没有在每个请求中作为参数读取。我想以某种简单的方式验证这些自定义标头,以便 Asp.Net Core 生成 400 响应,就像我对参数使用模型验证时一样。

有可能吗?

标签: c#asp.net-corehttp-headersbad-requestmodel-validation

解决方案


推荐阅读