Ho una configurazione relativamente semplice in esecuzione utilizzando SilverStripe 3.2.1 con restfulserver addon e utilizzando una varietà di widget associati a una pagina utilizzando the elemental addon.Inclusione dei dati del modello correlato nella richiesta dell'API della pagina
Quando faccio una richiesta GET tramite l'API per recuperare alcuni dei Pagina dati # 1 di, posso vedere l'ElementAreaID associati:
# GET /api/v1/Page/1.json?fields=Title,URLSegment,Content,ElementArea
{
"Title": "Welcome",
"URLSegment": "home",
"Content": "A bunch of HTML here from all the widgets in the page...",
"ElementArea": {
"className": "ElementalArea",
"href": "http://ss.local:3000/api/v1/ElementalArea/11.json",
"id": "11"
}
}
Se seguo i collegamenti attraverso l'API ElementalArea chiama elencherà tutti gli elementi della mia pagina:
# GET /api/v1/ElementalArea/11.json
{
"ID": "11",
"Widgets": [
{
"className": "Widget",
"href": "http://ss.local:3000/api/v1/Widget/9.json",
"id": 9
},
{
"className": "Widget",
"href": "http://ss.local:3000/api/v1/Widget/8.json",
"id": 8
},
...
]
}
E se seguo quei sentieri API servirà i contenuti della versione più recente di ciascuno dei Widget.
La mia domanda è in che modo è possibile includere determinati campi dall'oggetto Widget DataObjects all'interno dell'elenco di campi Pagina originale?
Mi piacerebbe che il campo Contenuto di ogni Widget venga restituito in un array con la richiesta iniziale della pagina API.
Per riferimento:
- una pagina ha un
ElementArea
- Un
ElementArea
ha moltiWidget
s - Un
Widget
contiene contenuti che voglio per il mioPage
Cosa contiene quell'array aggiuntivo? Solo i contenuti? O oggetti, con campo ID Widget, href e Contenuto? – bummzack
Non troppo affollato davvero. In definitiva ho bisogno del Contenuto dei widget nella pagina tramite la tabella pivot di ElementalArea da restituire con la Pagina. –