Estoy implementando una entrada de autocompletar con react-select. Para cargar las opciones de autocompletar, necesito obtener una API. Necesito hacer esta tarea en dos puntos finales, uno que es solo la URL (este lo obtuve) pero este es diferente: necesito enviar un cuerpo json con los siguientes contenidos: {"searcher" : "VALUE"} donde el valor serían los términos que buscaría el usuario, es decir, una variable que atribuyo a la entrada. Pero no puedo hacer una búsqueda y no devuelve nada cuando coloco este código, que es básicamente la lógica que usé en el punto final que solo necesita la URL. ¿Dónde me estoy equivocando?
tengo la coleccion de la api en postman y la probe mandando el json body y funciona, pero en el codigo no
const INITIAL_DATA = { value: 0, label: 'Selecione o Procedimento', }; const [selectData, setselectData] = useState(INITIAL_DATA); const mapResponseToValuesAndLabels = (data) => ({ value: data.id, label: data.terminologia, }); async function callApi(value) { /* var data = JSON.stringify({ "buscador": "CAP" }); */ const api = axios.create({ baseURL: `http://devsite.redetelemedicabr.com.br:3333/medsigtap/byTerminologia`, headers: { 'Content-Type': 'application/json', 'Accept' : '*/*' }, data :JSON.stringify({ "buscador": "CAP" }) }) api.get('/').then(res => { console.log(res.data,'fefe') }) } return ( <div> <p></p> <AsyncSelect cacheOptions loadOptions={callApi} onChange={(data) => { setselectData(data); }} value={selectData} defaultOptions />en este código, necesito obtener la respuesta de la API y asignarla para que tenga una etiqueta y un valor para que pueda mostrarse en las opciones de autocompletar.
Obtengo en el registro de respuestas solo una matriz vacía [] pero en cartero funciona, recibí lo que estoy buscando (los objs CAP)
el problema es que no estas enviando los datos correctamente
envía el jsonData así:
const rawResponse = await fetch(url, { method: 'POST', body: JSON.stringify(jsonData), }); const response = rawResponse.json().map(mapResponseToValuesAndLabels);