Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

156
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!