My Asp.Net Core 3.1 API returns 422 Unprocessable Entity error response as shown below:
{
  "type": "https://test.com/modelvalidationproblem",
  "title": "One or more model validation errors occurred.",
  "status": 422,
  "detail": "See the errors property for details.",
  "instance": "/api/path",
  "traceId": "8000003f-0001-ec00-b63f-84710c7967bb",
  "errors": {
    "FirstName": [
      "The FirstName field is required."
    ]
  }
}
How to deserialize this response and add the errors to model validation error in Asp.Net Core 3.1 Razor Pages?
I tried to create model as shown below,
Error Model:
public class UnprocessableEntity
{
    public string Type { get; set; }
    public string Title { get; set; }
    public int Status { get; set; }
    public string Detail { get; set; }
    public string Instance { get; set; }
    public string TraceId { get; set; }
    public Errors Errors { get; set; }
}
public class Errors
{
    ....// what should I need to add here? Keys and messages will be dynamic
}
However what I should add inside Errors class? The error keys and messages will be dynamic.
Once above things is known, I can add model state errors in my razor pages as shown below,
using var responseStream = await response.Content.ReadAsStreamAsync();
var errorResponse = await JsonSerializer.DeserializeAsync<UnprocessableEntity>(responseStream);
foreach (var error in errorResponse.errors)
{
    ModelState.AddModelError(error.key, error.Message[0]); // I'm stuck here
}
 
    