Web API経由でコントローラにリストを送信しようとしています。私はPostman経由でJSONとして送信しています。私はJSONが正しくフォーマットされていることを100%確信しています。それでも、usersList
はnull
となります。私も[FromBody]
属性なしで試しました。Web APIがPUTで本体を読み取っていません
コントローラ名はUserController
です。したがって、URLはapi/user/
です。使用される方法はPut
です。
public IHttpActionResult Put([FromBody]List<UserVm> usersList)
{
if (usersList.Count > 0)
{
_userService.UpdateUserRoles(usersList);
return Ok();
}
return BadRequest();
}
public class UserVm
{
public int Id { get; set; }
public string UserName { get; set; }
public string Name { get; set; }
public string Token { get; set; }
public string Icao { get; set; }
public string RefreshToken { get; set; }
public int ExpiresIn { get; set; }
public List<Role> Roles { get; set; }
}
[
{
"id": 0,
"username": "banji",
"name": "baji",
"token": "bajz",
"icao": "poffe",
"refreshtoken": "konna",
"expiresin": 0,
"roles": [{
"id": 0,
"department": "asd",
"isadmin": false
}]
},
{
"id": 0,
"username": "banji",
"name": "baji",
"token": "bajz",
"icao": "poffe",
"refreshtoken": "konna",
"expiresin": 0,
"roles": [{
"id": 0,
"department": "asd",
"isadmin": false
}]
}
]
私が間違っていることに関する提案は非常に高く評価されています。
UserVmクラスコードを貼り付けることができますか?また、これが助けになるかどうか確認してください:http://www.c-sharpcorner.com/UploadFile/dacca2/web-api-with-ajax-make-put-request-in-restful-web-api-servi/ – owczarek
私jsonも追加します。 – fjompen
json変数名に大文字を使用して、C#クラスと一致するようにしてください。 –