カスタム Google エンドポイントからデータを取得する Dart アプリケーションがあります。クライアント ライブラリを生成するために discoveryapis_generator を使用しています。次のようなクエリを発行したいと思います。
import endpoints_api.dart as EndpointsApi;
api = new EndpointsApi.MyApi();
api.photos.list(api.Photo.post_id == "post1");
endpoints_api.dart
discoveryapis_generator によって生成されたクライアント ライブラリgenerate.dart
です。MyApi
は私のカスタム エンドポイント API でありphotos
、そのサービスの 1 つです。インスタンスプロパティを持つエンドポイントモデルクラスだと思い ます。Photo
post_id
リクエストを発行すると、Photo に static getter "post_id" がないというエラーが発生します。これは Python API のクエリの構文に近いため、ここで指定する方法しか思いつきませんでした。
私のリクエストを説明するのに他に何が役立つかわかりません。うまくいけば、それは自明です。hereで説明されているアクティブな拡張機能がありますが、応答でアイテムではなくフィールドを制限することを指しているようです。
アップデート:
クライアント ライブラリを調べてみると、list
メソッドのソースが見つかりました。確かにクエリ パラメータがサポートされているようです。しかし、それは完全に正しいとは思えません。仮パラメータ リストには、中かっこで囲まれた API で指定されたクエリ パラメータが含まれます。
async.Future<PhotoCollection> list({core.String postId, core.String regionId}) {...
ただし、メソッド本体には次のようなものがあります。
if (regionId != null) {
_queryParams["region_id"] = [regionId];
パラメータリストから[regionId]
抽出するための括弧はありますか?region
パラメーター リストから中かっこを取り出しました。でのみクエリを実行することを期待しているのでpostId
、それが唯一のパラメーターです。
async.Future<PhotoCollection> list(core.String postId) {...
出来上がり。呼び出しで値を指定するだけで、クエリにパラメーターを追加できるようになりました。
api.photos.list("post1");