0

ASP.NET Core 3.1 采用 POSTed JSON(用于在我刚刚起步的 Web API 中通过 SCIM v2 创建用户)并将其模型绑定到我的 C# 请求数据类CreateUserRequest,就像一个冠军。如果 JSON 中有错误,它会产生很好的基于 ProblemDetails 的错误。

例如,如果用户的姓氏(又名姓氏)丢失(不应该是因为我[Require]的那个属性),那么响应 JSON 是:-

{
  "type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
  "title": "One or more validation errors occurred.",
  "status": 400,
  "traceId": "|dbd3da85-4991c45298582047.",
  "errors": {
    "Name.LastName": [
      "The LastName field is required.",
      "The field LastName must be a string with a minimum length of 1 and a maximum length of 100."
    ]
  }
}

这是结果,ValidationProblemDetails它适用于大多数用途,但不幸的是它不适合 SCIM,它需要不同的 JSON 格式,在此处描述

例如,SCIM 错误看起来像这样:-

   {
     "schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],
     "scimType":"mutability"
     "detail":"Attribute 'id' is readOnly",
     "status": "400"
   }

如何在 ASP.NET Core 3.1 Web API 中替换ProblemDetailsValidationProblemDetails用其他东西(在这种情况下是与 SCIM 兼容的东西)?

4

0 回答 0