c# net Valor nulo cuando Pasa los valores[FromBody] al método de publicación por el complemento de Postman




send parameters post postman (2)

No puede enlazar una sola cadena primitiva utilizando json y FromBody, json transmitirá un objeto y el controlador esperará un objeto complejo (modelo) a su vez. Si solo desea enviar una única cadena, utilice la codificación url.

En su conjunto de encabezado

Content-Type: application/x-www-form-urlencoded

El cuerpo del mensaje de solicitud POST debe ser =saeed (según su valor de prueba) y nada más. Para cadenas desconocidas / variables, debe codificar el valor de la URL para que de esa manera no se escape accidentalmente con un carácter de entrada.

Alternativo 1

Crea un modelo y usa eso en su lugar.

Valor del cuerpo del mensaje: {"name":"saeee"}

do#

public class CustomModel {
    public string Name {get;set;}
}

Método del controlador

public HttpResponseMessage Post([FromBody]CustomModel model)

Alternativa 2

Pase cadenas primitivas a su publicación utilizando el URI en lugar del cuerpo del mensaje.

Esta pregunta ya tiene una respuesta aquí:

Utilizo el controlador api en la API web de ASP.net y necesito pasar valor al método de publicación por tipo [FromBody] ..

 [HttpPost]
 public HttpResponseMessage Post( [FromBody]string name)
 {
     ....
 }

Yo uso el plugin de Postman, pero cuando el valor del nombre del método de envío a publicación siempre es nulo ... siga esta imagen:

y en los métodos de publicación:

¿Por qué ha pasado esto?


Publique la cadena con raw json y no olvide las comillas dobles.







postman