開發ApiController的時候用POST方法來傳值,似乎Api怎麼都抓不到POST過來的值,但實際真的有傳出去,這是怎麼一回事呢,先來看看ApiController自動產生的範例吧。
// POST api/<controller>
public void Post([FromBody]string value)
{
}
感覺只要POST方法Input name等於value應該就會傳值了,而與Get方式差異在於有加上[FromBody],但怎麼都接不到喔。
原來Api要接收POST的資料,要用物件型別來接,不能用基本型別或string接。修改如下就可以了喔。
public class Data
{
public string value { get; set; }
}
// POST api/<controller>
public string Post([FromBody] Data value)
{
return "received " + value.value;
}