No se pueden recibir datos en un método HttpPost de API web desde la publicación React axios

DevLoverUmar

Mi método de publicación de API web funciona bien con Swagger, pero cuando envío una solicitud de publicación desde mi aplicación React con axios, los datos [FromBody] son ​​nulos. Aquí está el método de API web.

[HttpPost]
[Route("api/employee/addMany")]
public IHttpActionResult Post([FromBody] dynamic data)  //my axios request hit this method but data is always null. I have tried passing without stringifying
  {
   Employee[] employees=JObject.Parse(data);
   //doing some stuff with employees
   return Ok();
  }

Y aquí está el código de solicitud de publicación de Axios


export function addEmployees(employees:Employee[]) {
  return axios.post(`api/employee/addMany`, { employees });
}

Y aquí está el interceptor de solicitudes, que realiza la pascalización de claves del modelo y la secuenciación de datos.

const pascalizeKeys = (obj:any):any => {
  if (Array.isArray(obj)) {
    return obj.map(v => pascalizeKeys(v));
  } else if (obj !== null && obj.constructor === Object) {
    return Object.keys(obj).reduce(
      (result, key) => ({
        ...result,
        [String(upperFirst(key))]: pascalizeKeys(obj[key]),
      }),
      {},
    );
  }
  return obj;
};

export function applyInterceptors(Axios:typeof axios){
  Axios.interceptors.request.use((request)=>{
    if(request.data){
      request.data = JSON.stringify(pascalizeKeys(request.data));
      return request;
    }
    return request;
  }
  )
}

Delgado

Cosas para intentar que axios post funcione:

  1. Establecer los encabezados
headers: {
          'content-type': 'application/json',
     }
  1. Intente adjuntar su json al campo datao paramsde la solicitud

  2. Si aún no puede obtener sus datos, envíelos como nuevos formDataen el campo de datos.

let formData = new FormData()

formdata.append('name', yourJson)

await axios({
  method: 'post',
  url: '/your/url',
  data: formData,
  headers: {
    'Content-Type': 'multipart/form-data',
  },
})

y debería obtenerlo con su solicitud ahora

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Cómo recibir datos dinámicos en el método de publicación del controlador Web API

No se pueden publicar datos de cadenas simples en la API web desde AngularJS

No se puede recibir la matriz en el método de publicación de PHP

no se pueden recibir datos adicionales de la notificación push de análisis en Android

no se pueden recibir datos adicionales de la notificación push de análisis en Android

No se pueden evaluar los datos de respuesta de la publicación http desde fuera de .subscribe

Por que el valor de una variable de cadena se pasa nulo en un método de publicación de la API web C #

No se puede publicar valor en la base de datos mediante el método de publicación API y el cartero

No se pueden eliminar los datos de la tabla con BeautifulSoup desde un sitio web

Los datos de la API de publicación única no se muestran en React js

Cómo recibir un objeto JSON personalizado en el método de publicación Spring Boot Api

El método de publicación no funciona en laravel 5.4 desde la ruta web

Cómo descargar un archivo desde la API usando el método de publicación

No se pueden obtener los datos de la publicación

No se pueden ver los datos en reaccionar nativo usando Axios desde una API

No se pueden ver los datos en reaccionar nativo usando Axios desde una API

No se puede enviar una colección de números enteros a un método de publicación de Web Core Api, se establece en nulo

No se pueden mostrar los datos de la promesa dentro de un método en el render.

No se pueden procesar datos de la API en React, no se muestran errores

cómo recibir la respuesta de un método de publicación enviar con guzzle

No se pueden recibir datos POST en nodeJs

Recibir la página desde la que se hace clic en un elemento de la barra de navegación

Llamar a un método síncrono desde un método asíncrono en la api web de asp.net

Nodo JS: no se pueden devolver datos y exportar desde la función Async Axios

No se pueden escribir valores en una matriz PHP global desde un método de clase

La solicitud de publicación de React Js Axios no recibe el cuerpo de la API web

No se pueden analizar los datos JSON devueltos a través del método de recuperación en React

No se pueden analizar los datos JSON devueltos a través del método de recuperación en React

No se pueden guardar datos en un onClick dentro de la aplicación react.js - codepen adjunto

TOP Lista

CalienteEtiquetas

Archivo