Ответ 1
Это рабочий код
// POST api/values
[HttpPost]
[ResponseType(typeof(CheckOut))]
public async Task<IHttpActionResult> Post([FromBody] CheckOut checkOut)
{
if (checkOut == null)
{
return BadRequest("Invalid passed data");
}
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.checkOuts.Add(checkOut);
try
{
await db.SaveChangesAsync();
}
catch (DbUpdateException)
{
if (checkOutExists(checkOut.id))
{
return Conflict();
}
else
{
throw;
}
}
return CreatedAtRoute("DefaultApi", new { id = checkOut.Id }, checkOut);
}
Я объявил класс CheckOut следующим:
public class CheckOut
{
public int Id { get; set; }
public string Property2 { get; set; }
}
Ключевыми моментами здесь являются:
1- Вам нужно добавить [FromBody] к вашему методу Api. 2- Я тестировал его с помощью Fiddler, i- выбрав действие POST. i-content-type: application/json. iii- передача { "Id": 1, "Property2": "Anything" } в теле сообщения.
Надеюсь, что это поможет.