Estoy tratando de comunicarme con una API desde mi aplicación React usando Axios. Logré que la solicitud GET funcionara, pero ahora necesito una POST.
Necesito que el cuerpo sea texto sin procesar, ya que escribiré una consulta MDX en él. Aquí está la parte donde hago la solicitud:
axios.post(baseUrl + 'applications/' + appName + '/dataexport/plantypes' + plan, { headers: { 'Authorization': 'Basic xxxxxxxxxxxxxxxxxxx', 'Content-Type' : 'text/plain' } }).then((response) => { this.setState({data:response.data}); console.log(this.state.data); });
Aquí agregué la parte de tipo de contenido. Pero, ¿cómo puedo agregar la parte del cuerpo?
Gracias.
Editar:
Aquí hay una captura de pantalla de la solicitud de Postman en funcionamiento
Puede usar lo siguiente para pasar el texto sin formato.
axios.post( baseUrl + 'applications/' + appName + '/dataexport/plantypes' + plan, body, { headers: { 'Authorization': 'Basic xxxxxxxxxxxxxxxxxxx', 'Content-Type' : 'text/plain' } } ).then(response => { this.setState({data:response.data}); console.log(this.state.data); });
Simplemente tenga su texto sin procesar dentro body
o páselo directamente entre comillas como 'raw text to be sent'
en lugar de body
.
La firma de la publicación de axios es axios.post(url[, data[, config]])
, por lo que los data
son donde pasa el cuerpo de su solicitud.
Puede usar cartero para generar código. Mira esta imagen. Siga el paso 1 y el paso 2.
Si su punto final solo acepta datos que se han enviado con Body (en cartero), debe enviar FormData.
var formdata = new FormData(); //add three variable to form formdata.append("imdbid", "1234"); formdata.append("token", "d48a3c54948b4c4edd9207151ff1c7a3"); formdata.append("rate", "4"); let res = await axios.post("/api/save_rate", dataform);