Tengo esta API POST en swagger: ingrese la descripción de la imagen aquí
ingrese la descripción de la imagen aquí
cuando envío una solicitud en swagger, devuelve un código de estado 200
También intento exactamente la misma solicitud en cartero y también devuelve un código de estado 200, por lo que todo está bien: ingrese la descripción de la imagen aquí
pero cuando se trata de js, envío exactamente la misma solicitud en js pero el servidor devuelve un código de estado 400 con el mensaje: "title can not be empty"
pero estoy seguro de que estoy enviando el título correctamente.
este es mi código:
export const createFood = async (title, description, file, price) => { try { const { data } = await client.post(`/Restaurant/food`, { title, description, "file.form_file": file, price: parseFloat(price), }); return data; } catch (error) { return error.response.data; } }; este es el registro de red del navegador:
ingrese la descripción de la imagen aquí
ingrese la descripción de la imagen aquí
¿Qué estoy haciendo mal?
En js, está enviando sus datos como un objeto. pero debe enviarlo como datos de formulario como este:
export const createFood = async (title, description, file, price) => { const formData = new FormData(); formData.append("title", title); formData.append("description", description); formData.append("file.form_file", file); formData.append("price", parseFloat(price)); try { const { data } = await client.post(`/Restaurant/food`, formData); return data; } catch (error) { return error.response.data; } };