データ API ビルダー (DAB) には、接続されたデータベースからテーブル、ビュー、ストアド プロシージャにアクセスできる RESTful Web API が用意されています。 公開されている各データベース オブジェクトは、ランタイム構成の エンティティ として定義されます。
既定では、DAB は REST エンドポイントを次の位置でホストします。
https://{base_url}/api/{entity}
注
すべてのパス コンポーネントとクエリ パラメーターでは、大文字と小文字が区別されます。
データ API ビルダーでサポートされているキーワード
| 概念 | REST | 目的 |
|---|---|---|
| Projection | $select | 返すフィールドを選択する |
| フィルタリング | $filter | 条件で行を制限する |
| 並べ替え | $orderby | 並べ替え順序を定義する |
| ページ サイズ | $first | ページあたりのアイテム数を制限する |
| 継続 | $after | 最後のページから続行する |
基本構造
REST API を呼び出すには、次のパターンを使用して要求を作成します。
{HTTP method} https://{base_url}/{rest-path}/{entity}
book エンティティからすべてのレコードを読み取る例:
GET https://localhost:5001/api/book
応答は JSON オブジェクトです。
{
"value": [
{ "id": 1, "title": "Dune" },
{ "id": 2, "title": "Foundation" }
]
}
注
既定では、特に構成されていない限り、DAB はクエリごとに最大 100 個の項目を返します (runtime.pagination.default-page-size)。
クエリの種類
各 REST エンティティは、コレクション読み取りと単一レコード読み取りの両方をサポートします。
| Operation | 説明 |
|---|---|
GET /api/{entity} |
レコードの一覧を返します。 |
GET /api/{entity}/{primary-key-column}/{primary-key-value} |
主キーで 1 つのレコードを返します |
1 つのレコードを返す例:
GET /api/book/id/1010
多くの値を返す例
GET /api/book
結果のフィルター処理
$filter クエリ パラメーターを使用して、返されるレコードを制限します。
GET /api/book?$filter=title eq 'Foundation'
このクエリは、タイトルが "Foundation" であるすべての書籍を返します。
フィルターには、より複雑なクエリの論理演算子を含めることができます。
GET /api/book?$filter=year ge 1970 or title eq 'Dune'
、eq、ne、lt、le、andなどのサポートされる演算子については、$filterorを参照してください。
結果を並べ替える
$orderby パラメーターは、レコードの並べ替え方法を定義します。
GET /api/book?$orderby=year desc, title asc
これにより、 year 降順、 title順に並べ替えられた書籍が返されます。
詳細については、 $orderby引数のリファレンス を参照してください。
検索結果の制限 {#first-and-after}
$first パラメーターは、1 つの要求で返されるレコードの数を制限します。
GET /api/book?$first=5
これにより、既定で主キー順に並べ替えられた最初の 5 つの書籍が返されます。
$first=-1を使用して、構成された最大ページ サイズを要求することもできます。
詳細については、 $first引数リファレンスを参照してください。
継続的な結果
次のページをフェッチするには、前の応答の継続トークンと共に $after を使用します。
GET /api/book?$first=5&$after={continuation-token}
$after トークンは、最後のクエリが終了した場所を識別します。
詳細については 、$after引数のリファレンス を参照してください。
フィールドの選択 (プロジェクション)
$selectを使用して、応答に含めるフィールドを制御します。
GET /api/book?$select=id,title,price
指定した列のみが返されます。
フィールドがない場合、またはアクセスできない場合、DAB は 400 Bad Requestを返します。
詳細については 、$select引数のリファレンス を参照してください。
データの変更
REST API では、エンティティのアクセス許可に応じて、作成、更新、削除の操作もサポートされます。
| メソッド | アクション |
|---|---|
POST |
新しいアイテムを作成する |
PUT |
既存の項目を置き換える (または存在しない場合は作成する) |
PATCH |
既存の項目を更新する (または存在しない場合は作成する) |
DELETE |
主キーによる項目の削除 |
新しいレコードの作成例:
POST /api/book
Content-type: application/json
{
"id": 2000,
"title": "Leviathan Wakes"
}
既存のレコードを更新する例:
PATCH /api/book/id/2000
Content-type: application/json
{
"year": 2011,
"pages": 577
}
レコードの削除例:
DELETE /api/book/id/2000