Estoy tratando de enviar datos usando el método de publicación de axios pero sigo recibiendo el error 415.
Intenté cambiar a "'Content-Type': application/x-www-form-urlencoded" pero sigo teniendo el mismo problema.
Obtener datos con axios.get funciona sin errores.
¿Qué estoy haciendo mal?
Archivo en el que almaceno los puntos finales de la API:
import axios from "axios"; const api = () => { const baseUrl = "https://localhost:5001/api"; let optionAxios = { headers: { "Content-Type": "text/plain;charset=utf-8", }, }; return { getSubjects: () => axios.get(`${baseUrl}/subjectcontroller/getsubjects`), addSubject: (subjectName) => axios.post( `${baseUrl}/subjectcontroller/createsubject`, { name: subjectName, }, optionAxios ), }; }; export const apiService = api();Componente desde el que envío datos:
import Context from "../../store/context"; import FormContainer from "../UI/FormContainer"; import { apiService } from "../../services/api/api.service"; import { useContext, useRef } from "react"; const AddSubject = () => { const ctx = useContext(Context); const subject = useRef(""); const sendData = (e) => { e.preventDefault(); apiService.addSubject(subject.current.value); }; return ( <FormContainer show={ctx.subjectForm} send={sendData}> <label htmlFor="subject">Subject Name: </label> <input type="text" id="subject" ref={subject} /> <button type="submit">Add</button> </FormContainer> ); };Si su API espera un cuerpo JSON, debe configurar los encabezados Content-Type como "aplicación/json"
const optionAxios = { headers: { 'Content-Type': 'application/json', }, };