次の方法で共有


REST エンドポイントを呼び出す方法

データ 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'

eqneltleandなどのサポートされる演算子については、$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