net frombody asp c# api asp.net-core

c# - frombody - Asp.net Core 2 API POST Los objetos son NULL?



post param null (1)

Tengo una configuración .NET Core 2 API con algunas funciones de prueba. (Visual Studio 2017)

Utilizando el cartero, hago una publicación con los datos sin procesar para ese método, pero ¿el modelo está en blanco? ¿Por qué?

// POST api/Product/test [HttpPost] [Route("test")] public object test(MyTestModel model) { try { var a = model.SomeTestParam; return Ok("Yey"); } catch (Exception ex) { return BadRequest(new { message = ex.Message }); } } public class MyTestModel { public int SomeTestParam { get; set; } }


[FromBody incluir el atributo [FromBody ] en el modelo:

[FromBody] MyTestModel model

Ver la publicación de Andrew Lock para más información:

Para vincular JSON correctamente en ASP.NET Core, debe modificar su acción para incluir el atributo [FromBody] en el parámetro. Esto le indica al marco que use el encabezado de tipo de contenido de la solicitud para decidir cuál de los IInputFormatters configurados se usará para el enlace del modelo.

Como señaló @anserk en los comentarios, esto también requiere que el encabezado Content-Type se establezca en application/json .