コンテキスト
現在、顧客がカスタム・オブジェクト上で動作するカスタムAPIを作成する必要がある場合、2つの選択肢がある:
- オブジェクトと共に生成されたデフォルトのAPIを使用する(各オブジェクトに1つのAPI)
- RESTビルダー上で開発する(パートナーまたは自社のIT部門を使う)
オブジェクトのカスタムデータリストを作成する必要がある場合も同様です。 唯一の可能性は、それを開発することだ。
そこで、この最後のユースケースに焦点を当てつつも、より複雑なユースケースをカバーできる本格的なツールを提供することを長期的な目標として、私たちはAPI Builderを開発しました:コードなしでカスタムAPIアプリケーションを作成する方法です。
私たちがしてきたこと
私たちは、開発者がNo Code UIでカスタムオブジェクトに基づいたAPIを構築するのを支援する新しいアプリケーションを作成しました。 この新機能により、ユーザーはエンドポイント名からリクエストとレスポンススキームのデータモデルまで、APIの構造全体を定義することができる。
仕組み
我々はUI部分に焦点を当てるつもりだが、 API Builderの永続化レイヤーはオブジェクトであり、すべてのオブジェクトはデフォルトで作成された独自のCRUD APIアプリケーションを持っているため、すべての機能がAPIレイヤー で利用可能であることを知っておくことは非常に重要である。
オブジェクト & API アプリケーション:
- APIアプリケーション
- APIエンドポイント
- APIスキーマ
- APIプロパティ
- APIフィルター
- APIソート
APIアプリケーション:
APIアプリケーションの作成
新しいAPIアプリケーションを追加する
ユーザーがタイトルを入力すると、URLは自動的に小文字で補完され、"-"以外の特殊文字は削除されます。 モーダルに記載されているように、ユーザーは必要に応じてAPIアプリケーションの相対URLを変更することができます。
アプリケーションが作成されると、ユーザーはアプリケーションの詳細を見たり変更したりすることができます。 さらに、2つの新しいタブにアクセスできる:エンドポイントとスキーマだ。
編集 & 削除
アプリのリストから、ユーザーは直接アクセスできる:
- 編集:編集ページに直接アクセス。
- 削除: ユーザーがこのオプションをクリックすると、確認のモーダルが表示されます。 削除を確認するには、アプリ名を入力する必要があります。
APIスキーマ:
APIスキーマの作成
- 名前:スキーマの名前はユーザーが決める
- Description: tユーザーは説明を追加できる(必須ではない)
- オブジェクト:既存のオブジェクト(システムとカスタム)のドロップダウンリスト。 スキーマに追加されたすべてのプロパティは、メイン・オブジェクトまたはその関連オブジェクトに属する。
編集 & 削除
スキーマのリストから、ユーザーは編集や削除を行うことができる。 編集オプションをクリックすると、ユーザーは編集ページの情報タブに移動し、削除オプションをクリックすると、確認モーダルが表示されます。
API スキーマのプロパティ:
ユーザーは、2つの異なる領域を使用して、UIでスキーマの構造とプロパティを定義することができます:
- スキーマ構造:このエリアでは、ユーザーはプロパティを並べ替えたり、検索したり、スキーマのホール 構造を見ることができる。
- メイン・オブジェクトからのプロパティ:このエリアでは、ユーザーはスキーマに追加するプロパティをクリックするだけで選択できる。 メインのオブジェクトのプロパティとは別に、関連するオブジェクトがあれば、"View Related Objects "ボタンが表示されます。
スキーマにプロパティを追加する:
任意のプロパティにカーソルを合わせると、 アイコンが表示され、名前またはアイコンをクリックすると、そのプロパティが領域 1 内のプロパティの上部に表示されます。 ユーザが関連オブジェクトからプロパティを追加したい場合、「View Related Objects」ボタンを使用し、適切なプロパティに移動することができます。
スキーマのプロパティを編集する:
スキーマ構造内のプロパティにカーソルを合わせると編集アイコンが表示され、クリックするとモーダルが表示されます。
- 名前:スキーマ定義時に表示されるラベル
- Description: property の説明(必須ではない)
- データ型:オブジェクトのプロパティの型(変更不可)
- マッピングされたプロパティ:スキーマ・プロパティにマッピングされたオブジェクトのフィールド(変更不可)
スキーマのプロパティを削除する:
スキーマ構造のプロパティにカーソルを合わせると、削除アイコンが表示され、それをクリックすると、プロパティはスキーマから削除され、オブジェクト・プロパティ・リストで再び有効になります。
APIエンドポイント:
APIエンドポイントの作成
新しいエンドポイントを作成するには、ユーザーは2つのフィールドを入力するだけです:スコープ(会社またはサイト)とパスです。 その後、エンドポイントが作成されると、 構成 タブで、ユーザーはレスポンスに関連するスキーマを選択できる:
を追加し、 プレフィルター と ソート を OData クエリを使用して追加します:
- フィルターの例: name eq 'Mary'
- ソート例: 名前:desc, 姓:asc
編集と削除:
エンドポイントのリストから、ユーザーは編集や削除を行うことができます。 編集オプションをクリックすると、ユーザーは編集ページの情報タブに移動し、削除オプションをクリックすると、確認モーダルが表示されます。
APIアプリケーションの公開と解除
現在、APIアプリケーションは2つの状態のいずれかになる:公開と未公開だ。
- Unpublished: アプリケーション作成時のデフォルトの状態です。 この状態では、アプリは他のシステムでは利用できず、ヘッドレスAPIエクスプローラーにも表示されない。
- Published: すべてのバリデーションが正しい場合、アプリは利用可能になり、他のシステムからアクセスできるようになり、ヘッドレスAPIエクスプローラーに表示されます。 パスは https://{host}/o/c/{app_path}/となる。
ユーザーはいつでもステータスを変更できる。 公開から未公開への変更の場合のみ、この確認モーダルが表示されます:
デモ & その他のリソース
制限事項
この最初のMVPでは、 GET エンドポイントのみが作成可能で、スキーマの構造はフラットです(プロパティ間の複雑な階層を作成する可能性はありません)。
次のステップ
- PUT、POST、PATCH、DELETE、GET の単一要素 メソッドを作成できます。
- スキーマ内部で複雑な階層(コンテナ)を使用できる:
-
シングル・エレメント
-
配列要素
-