Tengo un problema en el que ninguno de los campos relacionales está presente en las respuestas después de obtener mis datos. Cuando observo el esquema de uno de mis esquemas con una relación, veo que los campos relacionales están presentes en el objeto de atributos. Pero aún así solo obtengo los campos no relacionales en mi respuesta.
Este es uno de mis esquemas.
{ "kind": "collectionType", "collectionName": "activities", "info": { "singularName": "activity", "pluralName": "activities", "displayName": "activity" }, "options": { "draftAndPublish": true }, "pluginOptions": {}, "attributes": { "name": { "type": "string" }, "date": { "type": "date" }, "subcategory": { "type": "relation", "relation": "oneToOne", "target": "api::subcategory.subcategory" }, "members": { "type": "relation", "relation": "manyToMany", "target": "api::member.member", "inversedBy": "activities" } } }En Strapi v4 , las relaciones no se completan al buscar entradas de forma predeterminada.
Las consultas pueden aceptar un parámetro de relleno para definir explícitamente qué campos populate , con la siguiente sintaxis:
GET /api/:pluralApiId?populate=field1,field2
GET /api/books?populate=author.name,author.address
Por conveniencia, el comodín * se puede usar para completar todas las relaciones de primer nivel:
GET /api/books?populate=*
GET /api/books?populate[author]=*
Nota: solo las relaciones de primer nivel se rellenan con populate=*. Use la sintaxis de paréntesis LHS (es decir [populate]=* ) para completar más profundamente:
GET /api/global?populate[navigation][populate]=*
Cambie su URL de API a una de las siguientes y debería poder ver los campos relacionados completados en la respuesta.
GET /api/activities?populate=subcategory,members
O
GET /api/activities?populate=*