При публикации в Web Api дочерний элемент типа объекта является нулевым - PullRequest
0 голосов
/ 20 сентября 2019

Я пытаюсь опубликовать Json на веб-интерфейсе

  {
      "Name" :"Irfan",
      "Roles":[
        {"RoleID" : 1}
    ,
     {"RoleID" : 2}]
    }

В веб-интерфейсе у меня есть такая модель

public class Role
{
    public Int32 ID { get; set; }
    public Int32? RoleID { get; set; }
    public Int32? UserID { get; set; }
}

public class User
{
    public string Name { get; set; }
    public List<Role> Roles { get; set; }
}

Я получаю значение «Имя», но «Роли»значение NULL.Как я могу получить "Роли"?

Ответы [ 2 ]

0 голосов
/ 23 сентября 2019

Пожалуйста, обратитесь к приведенному ниже примеру кода, который работает при тестировании:

[Route("test")]
public ActionResult<IEnumerable<string>> test(User user)
{
    return new string[] { "value1", "value2" };
}

Запрос будет выглядеть так:

POST  https://localhost:XXXX/api/values/test
Content-Type: application/json


{"Name" :"Irfan","Roles":[{"RoleID" : 1},{"RoleID" : 2}]}

Проверка вашего запроса с помощью Fiddler / Postman, .NET Core поможетавтоматически сопоставляет json объекту на стороне сервера.

0 голосов
/ 20 сентября 2019

Создание объекта ролей в конструкторе

public class User
{
     public User()
     {
         this.Roles = new List<Role>();
     }
     public string Name { get; set; }
     public List<Role> Roles { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...