Данные, которые вы отправляете на свой сервер, недействительны .Он ожидает массив JSON, но вы отправляете ему объект JSON с единственным свойством, которое само является массивом.Вы получаете код состояния 400 из-за того, что JSON.NET не может проанализировать объект как массив.
Для дальнейшего пояснения, это то, что вы отправляете:
{
"assignees": [
{ ... assignee1 ... },
{ ... assignee2 ... },
...
]
}
Однако это ожидаемый массив, поэтому он должен выглядеть следующим образом:
[
{ ... assignee1 ... },
{ ... assignee2 ... },
...
]
Все, что вам нужно сделать, это изменить текущую строку JSON.stringify
на эту:
JSON.stringify(assignmentPage.SelectedUsers)
Альтернативный вариант - создать класс модели в вашем проекте ASP.NET Core и использовать его вместо списка строк.Вот как это будет выглядеть:
public class AssignmentModel
{
public List<UserViewModel> Assignees { get; set; }
}
Действие Assignment
будет выглядеть так:
public IActionResult Assignment(Guid id, [FromBody] AssignmentModel thisNameDoesNotMatter)