Scenario
I want to map an incoming JSON request which has integer values to corresponding Enum values. The code below is simplified for the question in reality there are much more fields on MyRequest class.
Data Code
public enum Policy
{
Unknown = 0,
Policy1 = 1,
Anticipated = 2
}
public enum Design
{
Unknown = 0,
Project = 1,
Days = 2
}
public class Policies
{
public Policy? PolicyId { get; set; }
public Design? DesignId { get; set; }
}
class MyRequest
{
public int Id { get; set; }
public Policies Policies { get; set; }
}
JSON Request
{
"policies": {
"policyId": 2,
"designId": 2
},
"id": 1
}
Controller Code
[HttpPut]
public async Task<IActionResult> Put(MyRequest request)
{
// reques.Policies.DesignId is null
// reques.Policies.PolicyId is null
}