Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sonuçları REST olarak sıralama (
Sıralama, döndürülen kayıtların sırasını tanımlar ve kararlı sayfalandırmayı sağlar. REST'de, Veri API oluşturucusu (DAB), veya $afteruygulamadan $first önce sonuçları sıralamak için sorgu parametresini kullanır$orderby. atlarsanız $orderby, DAB varsayılan olarak birincil anahtara göre (artan) sıralamayı kullanır.
Uyarı
Bileşik birincil anahtarlar için VERITABANı sütun dizisine göre DAB siparişleri.
Bu belgenin GraphQL sürümüne gidin.
Genel Bakış
| Konsept | Description |
|---|---|
| Sorgu parametresi | $orderby |
| Yön belirteçleri |
asc, desc |
| Varsayılan sipariş | Birincil anahtar artan |
| Çok alanlı sipariş | Virgülle ayrılmış alan listesi |
| Kravat kesme | Kalan birincil anahtar alanları otomatik olarak eklenir |
Kullanım düzeni
GET /api/{entity}?$orderby=FieldA [asc|desc], FieldB desc
Example
Kitapları yıla göre azalan düzende sıralayın, sonra da başlık artan.
GET /api/books?$orderby=year desc, title asc&$first=5
Kavramsal SQL
SELECT TOP (5)
id,
sku_title AS title,
year
FROM dbo.books
ORDER BY year DESC, sku_title ASC, id ASC;
Örnek yanıt
{
"value": [
{ "id": 7, "title": "Dune Messiah", "year": 1969 },
{ "id": 6, "title": "Dune", "year": 1965 },
{ "id": 3, "title": "Foundation", "year": 1951 },
{ "id": 1, "title": "I, Robot", "year": 1950 },
{ "id": 8, "title": "The Martian Chronicles", "year": 1950 }
]
}
Kurallar
| Rule | Ayrıntı |
|---|---|
| Sınırlayıcı | Virgül + isteğe bağlı boşluk |
| Yön anahtar sözcükleri |
asc (varsayılan), desc |
| Büyük/küçük harf duyarlılığı | Alan adları büyük/küçük harfe duyarlıdır |
| Bilinmeyen alan | Döndürür 400 Invalid orderby column requested |
| Desteklenmeyen söz dizimi | Döndürür 400 OrderBy property is not supported. |
Örnek hatalar
Geçersiz alan adı:
400 Invalid orderby column requested: publishedYear
Desteklenmeyen belirteç:
400 OrderBy property is not supported.
ile etkileşim
içinde $selectbulunmayan bir alana göre sıraladığınızda DAB, sıralama veya imleç oluşturma için bunu dahili olarak getirir, ancak son yükten atlar.
İlgili yapılandırma
{
"entities": {
"Book": {
"source": {
"object": "dbo.books",
"type": "table"
},
"mappings": {
"sku_title": "title"
}
}
}
}
Örnek yapılandırma
{
"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" ]
}
}
}
}
}
Ayrıca bakınız
| Konsept | REST | GraphQL | Amaç |
|---|---|---|---|
| Projection | $select | items | Döndürülecek alanları seçme |
| Filtering | $filter | filtre | Satırları koşula göre kısıtlama |
| Sıralama | $orderby | orderBy | Sıralama düzenini tanımlama |
| Sayfa Boyutu | $first | first | Sayfa başına öğe sayısını sınırlama |
| Devam | $after | sonra | İmleç kullanarak son sayfadan devam et |
Uyarı
REST anahtar sözcükleri, OData kurallarını izleyerek ile $başlar.