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.
Veri API oluşturucusu (DAB), bağlı bir veritabanından tablolara, görünümlere ve saklı yordamlara erişmenizi sağlayan bir RESTful web API'sini sağlar. Kullanıma sunulan her veritabanı nesnesi, çalışma zamanı yapılandırmasında bir varlık olarak tanımlanır.
VARSAYıLAN olarak DAB, REST uç noktalarını şu konumda barındırıyor:
https://{base_url}/api/{entity}
Uyarı
Tüm yol bileşenleri ve sorgu parametreleri büyük/küçük harfe duyarlıdır.
Veri API'si oluşturucusunda desteklenen anahtar sözcükler
| Konsept | REST | Amaç |
|---|---|---|
| Projection | $select | Hangi alanların döndürüleceğini seçin |
| Filtering | $filter | Koşula bağlı olarak satırları kısıtlama |
| Sıralama | $orderby | Sıralama düzenini tanımlama |
| Sayfa Boyutu | $first | Sayfa başına öğeleri sınırlama |
| Devam | $after | Son sayfadan devam et |
Temel yapı
REST API'yi çağırmak için şu deseni kullanarak bir istek oluşturun:
{HTTP method} https://{base_url}/{rest-path}/{entity}
book varlığından tüm kayıtları okuma örneği:
GET https://localhost:5001/api/book
Yanıt bir JSON nesnesidir:
{
"value": [
{ "id": 1, "title": "Dune" },
{ "id": 2, "title": "Foundation" }
]
}
Uyarı
Varsayılan olarak DAB, aksiruntime.pagination.default-page-size () yapılandırılmadığı sürece sorgu başına en fazla 100 öğe döndürür.
Sorgu türleri
Her REST varlığı hem koleksiyonu hem de tek kayıtlı okumaları destekler.
| Operation | Açıklama |
|---|---|
GET /api/{entity} |
Kayıtların listesini döndürür |
GET /api/{entity}/{primary-key-column}/{primary-key-value} |
Birincil anahtara göre bir kayıt döndürür |
Bir kayıt döndüren örnek:
GET /api/book/id/1010
Birçok değer döndüren örnek:
GET /api/book
Sonuçları filtreleme
Döndürülecek $filter kayıtları kısıtlamak için sorgu parametresini kullanın.
GET /api/book?$filter=title eq 'Foundation'
Bu sorgu, başlığı "Foundation" olan tüm kitapları döndürür.
Filtreler daha karmaşık sorgular için mantıksal işleçler içerebilir:
GET /api/book?$filter=year ge 1970 or title eq 'Dune'
$filter bağımsız değişken başvurusunaeq, ne, lt, le, and, ve or gibi desteklenen işleçler için bakın.
Sonuçları sıralama
parametresi kayıtların $orderby nasıl sıralanacağını tanımlar.
GET /api/book?$orderby=year desc, title asc
Bu, önce azalan düzende year ile ve ardından title ile sıralanmış kitapları geri döndürür.
Daha fazla ayrıntı için $orderby referansına bakın.
Sonuçları sınırlandırma {#first-and-after}
$first parametresi, bir istekte kaç kaydın döndürülebileceğini sınırlar.
GET /api/book?$first=5
Bu, varsayılan olarak birincil anahtara göre sıralanmış ilk beş kitabı döndürür.
Yapılandırılan en büyük sayfa boyutunu istemek için de kullanabilirsiniz $first=-1 .
$first bağımsız değişken referansında daha fazla bilgi edinebilirsiniz.
Devam eden sonuçlar
Sonraki sayfayı getirmek için, önceki yanıttan devam belirteci kullanarak $after kullanın.
GET /api/book?$first=5&$after={continuation-token}
Belirteç, $after son sorgunun nerede sona erdiği tanımlar.
Ayrıntılar için bkz. $after bağımsız değişken başvurusu .
Alan seçimi (projeksiyon)
Yanıta hangi alanların dahil olduğunu denetlemek için kullanın $select .
GET /api/book?$select=id,title,price
Bu yalnızca belirtilen sütunları döndürür.
Bir alan eksikse veya erişilebilir değilse, DAB döndürür 400 Bad Request.
Ayrıntılar için bkz. $select bağımsız değişken başvurusu .
Verileri değiştirme
REST API, varlık izinlerine bağlı olarak oluşturma, güncelleştirme ve silme işlemlerini de destekler.
| Yöntem | Eylem |
|---|---|
POST |
Yeni öğe oluşturma |
PUT |
Var olan bir öğeyi değiştirme (veya eksikse oluştur) |
PATCH |
Mevcut bir öğeyi güncelleştirme (veya eksikse oluşturma) |
DELETE |
Bir öğeyi birincil anahtara göre kaldırma |
Yeni kayıt oluşturma örneği:
POST /api/book
Content-type: application/json
{
"id": 2000,
"title": "Leviathan Wakes"
}
Mevcut bir kaydı güncelleştirme örneği:
PATCH /api/book/id/2000
Content-type: application/json
{
"year": 2011,
"pages": 577
}
Kayıt silme örneği:
DELETE /api/book/id/2000