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.
Az oldalméret korlátozása a
Az oldalméret korlátozása megakadályozza az ügyfelek vagy kiszolgálók túlterhelését nagy adathalmazok lekérdezésekor. A GraphQL-ben a Data API Builder (DAB) az first argumentum használatával szabályozza, hogy hány rekordot ad vissza egyetlen válasz. A DAB belsőleg alkalmazza a kurzoralapú lapozást, de first önállóan is használható az eredmény méretének lekorlátozására.
Megjegyzés:
first korlátozza a visszaadott rekordok számát, de maga nem kezeli a folytatást. Több oldal esetén használja a következőt after: .
Lépjen a dokumentum REST-verziójára.
Áttekintés
| Concept | Description |
|---|---|
| Alapértelmezett oldalméret |
runtime.pagination.default-page-size (alapértelmezett érték: 100) |
| Oldalméret maximális mérete |
runtime.pagination.max-page-size (alapértelmezés szerint 100000) |
| Ügyfél felülbírálása | first |
| Maximális kérés | Pass -1 a konfigurált maximális oldalméret kéréséhez |
Ha first nincs megadva, az alapértelmezett oldalméret automatikusan érvényes.
Használati minta
query {
books(first: N) {
items { id title }
}
}
Example
Az eredmények korlátozása öt könyvre.
query {
books(first: 5) {
items {
id
title
}
}
}
Fogalmi SQL
SELECT TOP (5)
id,
sku_title AS title
FROM dbo.books
ORDER BY id ASC;
Mintaválasz
{
"data": {
"books": {
"items": [
{ "id": 1, "title": "Dune" },
{ "id": 2, "title": "Foundation" },
{ "id": 3, "title": "Hyperion" },
{ "id": 4, "title": "I, Robot" },
{ "id": 5, "title": "The Martian" }
]
}
}
}
Érvényesítési szabályok
| Bemenet | Result |
|---|---|
| Kihagyva | Használ default-page-size |
| Pozitív egész szám ≤ max. | Elfogadott |
-1 |
Kibontva max-page-size |
0 |
Hiba (érvénytelen) |
< -1 |
Error |
> max-page-size |
Error |
Példa hibaüzenet
Invalid number of items requested, first argument must be either -1 or a positive number within the max page size limit of 100000. Actual value: 0
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.