Aracılığıyla paylaş


REST uç noktalarını çağırma

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