Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Post Array Json to .net core web api controller [duplicate]

I have this code

    [HttpPost("[action]")]
    public IActionResult Add([FromBody] Player player)
    {
        PlayerService.Add(player);
        PlayerService.SaveChanges();
        return Created("Player created",player.Name);
    }

and this json

[
  {
    "name": "Olivier Giroud",
    "league": "Premier League",
    "currentTeam": "Arsenal"
  }
]

and everything is going ok. But if i want to send a json array

[ 
  { "name": "Olivier Giroud", "league": "Premier League", "currentTeam": "Arsenal" },    
  {"name": "Lucas Perez","league": "Premier League","currentTeam":"Arsenal"}
]

i get an exception "Object reference not set to an instance of an object.' ". I tried with List

public IActionResult Add([FromBody] List< Player >  players)    

or

public IActionResult Add([FromBody] IEnumerable < Player >  players)

or

public IActionResult Add([FromBody] Players[] players)

but without success. What should i do?

like image 988
Marian Avatar asked Jul 29 '17 19:07

Marian


1 Answers

Try changing

public IActionResult Add([FromBody] Players[] players)

To

public IActionResult Add([FromBody] Player[] players)
like image 100
alinous Avatar answered Oct 26 '22 19:10

alinous