Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

169
Vistas
Error de recuperación: falta la carga \"datos\" en el cuerpo de la solicitud

Las API de GraphQL y Strapi se cambiaron y agregaron un nivel principal al objeto json donde todo el objeto JSON que se debe buscar debe tener una clave principal llamada data , si envía la solicitud sin esta clave, la API se rechaza con un error 400

Mi JSON que envío es así

 {"title": "aaa", "rating": "3", "body": "aa", "categories": "5"}

La api requiere que sea así.

 {"data" : {"title": "aaa", "rating": "3", "body": "aa", "categories": "5"}}

¿Cómo puedo modificar mi código para insertar una clave principal en este objeto JSON?

Con Postman puedo publicar los datos en Strapi, enviando los datos de esta manera:

 { "data": { "title": "the best car", "rating": 7, "body": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt. ", "categories": [3,7,4] } }

Mi código completo está abajo:

 import React, { useState } from "react"; import { useNavigate } from "react-router-dom"; import { useQuery, gql } from '@apollo/client' import { useParams, Link } from 'react-router-dom' const CATEGORIES = gql` query GetCategories { categories{ data { id attributes{ name } } } } ` const token ="AlaBala" const Create = () => { const [title, setTitle] = useState(''); const [body, setBody] = useState(''); const [rating, setRating] = useState(3); const [categories, setCategories] = useState(5); const history = useNavigate(); const { loading, error, data } = useQuery(CATEGORIES) if (loading) return <p>Loading categories...</p> if (error) return <p>`Error! ${error}`</p> const handleSubmit = (e) => { e.preventDefault(); const review = { title, rating, body, categories }; console.log(review) fetch('http://localhost:1337/api/reviews/', { method: 'POST', mode: 'cors', headers: { "Content-Type": "application/json", "Authorization" : "Token " + token }, body: JSON.stringify(review) }) } return (object etc...)
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Intente cambiar su llamada de búsqueda a esto, preste atención al campo del cuerpo:

 fetch('http://localhost:1337/api/reviews/', { method: 'POST', mode: 'cors', headers: { "Content-Type": "application/json", "Authorization" : "Token " + token }, body: JSON.stringify({data:review}) })
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda