Как получить данные в контроллере? ASP.NET

        [HttpPost]
        public async Task EditUserRoles([FromBody] string id, List roles)
        {
            int a = 2; 
            return;
        }

Через postman отправляю данные в json:

{
  "id": "2e5ae2ee-0c0c-4f58-4f58-08d638e70a7f",
  "roles": ["abc", "admin", "user", "test"]
}

В отладчике вместо своих данных получаю null. В чем может быть проблема и как исправить ?

Создаёшь класс своей модели:

public class MyModel 
{
  public string id {get;set;}
  public List roles {get;set;}
}

Затем в обработчике:

EditUserRoles([FromBody] MyModel model)

FromBody может быть только один из параметров метода контроллера. И обычно это сложный тип, нет смысла отмечать им примитивы. Проверьте, есть ли вообще параметр в теле запроса: поставьте брейк поинт на самое начало метода и провалитесь в this.Request.Body, посмотрите чьи там параметры. Я предполагаю, что там в лучшем случае будет List. Попробуйте так (string id, [FromBody] List roles).

Если этот вариант не сработает - делайте так как говорит Арсений