Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A kivetítés segítségével csak azt adja vissza, amire az ügyfélnek ténylegesen szüksége van. A kisebb hasznos adatok javítják a teljesítményt, csökkentik a hálózati költségeket, és csökkentik az ügyféloldali elemzési többletterhelést. A Data API Builder (DAB) a lekérdezési paraméteren keresztül valósítja meg a REST-re vonatkozó előrejelzést $select .
Megjegyzés:
A REST-lekérdezési paraméternevek (beleértve a kis- és nagybetűket is $select) megkülönböztetik. A mezőnevek a konfigurált vagy közzétett adatok alapján megkülönböztetik a kis- és nagybetűket is.
Nyissa meg a dokumentum GraphQL-verzióját.
Alapszintű kijelölés
Pattern
GET /api/{entity}?$select=FieldA,FieldB,FieldC
Ha $select nincs megadva, a DAB minden olyan mezőt ad vissza, amely olvasásra jogosult a hívó szerepkörében (a konfiguráció és exclude a mezőszintű engedélyek függvényébeninclude). Nincs olyan helyettesítő token, mint a *; kihagyás $select a teljes engedélyezett alakzat kérése.
Példák
# Return all accessible fields
GET /api/author
# Return only first_name
GET /api/author?$select=first_name
# Return only first_name and last_name
GET /api/author?$select=first_name,last_name
Belső és válaszoszlopok
Nem kell elsődleges kulcsot vagy mezőket rendelnie. Ha nincs megadva, azok nem jelennek meg a JSON-válaszban. A DAB azonban belsőleg lekérheti a biztonsági szabályzatok (sorszintű szűrők, mezőmaszkok) kikényszerítéséhez és a lapozási kurzorok ($after / nextLink) kezeléséhez szükséges további oszlopokat.
Megjegyzés:
Ezeket a belsőleg beolvasott oszlopokat a rendszer a válasz előtt eltávolítja, kivéve, ha kifejezetten kéri őket.
Example
GET /api/book?$select=id,title&$orderby=publisher_id desc&$first=5
Fogalmi SQL
SELECT TOP (6) -- first (5) + 1 probe row for paging
[b].[id],
[b].[sku_title] AS title
FROM dbo.books AS [b]
ORDER BY [b].[publisher_id] DESC, [b].[id] ASC;
Válasz
{
"value": [
{ "id": 101, "title": "Example 1" },
{ "id": 77, "title": "Example 2" },
{ "id": 42, "title": "Example 3" },
{ "id": 33, "title": "Example 4" },
{ "id": 5, "title": "Example 5" }
],
"nextLink": "..."
}
További információ a lapozásról és a kulcsszó utániról.
A további belső oszlopok és a hatodik mintavételi sor nem látható a hasznos adatban.
Tárolt eljárások
A tárolt eljárás által támogatott entitások $select esetében a rendszer nem vetítési záradékként értelmezi. Ehelyett a lekérdezési sztringkulcs-/értékpárok (kivéve a felismert rendszerparamétereket, például $filter, $orderbystb.) tárolt eljárásparaméterekként kezelik.
$select nincs hatása; az eljárás eredményhalmaza határozza meg az alakzatot.
Konfigurációs példa
{
"runtime": {
"pagination": {
"default-page-size": 100,
"max-page-size": 100000
}
},
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.books"
},
"mappings": {
"sku_title": "title",
"sku_price": "price"
},
"relationships": {
"book_category": {
"cardinality": "one",
"target.entity": "Category",
"source.fields": [ "category_id" ],
"target.fields": [ "id" ]
}
}
},
"Category": {
"source": {
"type": "table",
"object": "dbo.categories"
},
"relationships": {
"category_books": {
"cardinality": "many",
"target.entity": "Book",
"source.fields": [ "id" ],
"target.fields": [ "category_id" ]
}
}
}
}
}
Lásd még
| Concept | REST | GraphQL | Cél |
|---|---|---|---|
| Projection | $select | Elemek | Adja meg, hogy mely mezőket adja vissza |
| Filtering | $filter | szűrő | Sorok korlátozása feltétel szerint |
| Rendezés | $orderby | orderBy | Rendezési sorrend meghatározása |
| Oldalméret | $first | first | Az elemek számának korlátozása oldalanként |
| Folytatás | $after | után | Folytatás az utolsó oldalról kurzor használatával |
Megjegyzés:
A REST-kulcsszavak az OData-konvenciók követésével $kezdődnek.