Google app engine 在Dart for Google Endpoints中支持查询参数?
我有一个Dart应用程序,它从自定义的Google端点获取数据。我正在使用discoveryapis_生成器生成客户端库。我想发出如下查询:Google app engine 在Dart for Google Endpoints中支持查询参数?,google-app-engine,dart,protorpc,client-library,Google App Engine,Dart,Protorpc,Client Library,我有一个Dart应用程序,它从自定义的Google端点获取数据。我正在使用discoveryapis_生成器生成客户端库。我想发出如下查询: import endpoints_api.dart as EndpointsApi; api = new EndpointsApi.MyApi(); api.photos.list(api.Photo.post_id == "post1"); if (regionId != null) { _queryParams["region_id"]
import endpoints_api.dart as EndpointsApi;
api = new EndpointsApi.MyApi();
api.photos.list(api.Photo.post_id == "post1");
if (regionId != null) {
_queryParams["region_id"] = [regionId];
endpoints\u api.dart
是由discoveryapis\u生成器generate.dart
生成的客户端库MyApi
是我的自定义端点API,photos
是它的一项服务。我认为Photo
是一个端点模型类,它有一个实例属性post\u id
发出请求会导致一个错误,大意是Photo没有静态getter“post_id”。这与Python API中查询的语法非常接近,因此这是我唯一能想到的在这里指定它的方法
我不知道还有什么可以帮助我描述我的请求。希望这是不言而喻的。有一个积极的增强描述,但它似乎是指限制字段,而不是项目,在响应
更新:
在客户机库中翻找,我找到了list
方法的源代码。看起来确实支持查询参数。但在我看来,这并不完全正确。正式参数列表包含API中指定的查询参数,并用大括号括起来:
async.Future<PhotoCollection> list({core.String postId, core.String regionId}) {...
[regionId]
中的括号是否用于从参数列表中提取区域
我从参数列表中取出了大括号。因为我只希望通过postId
进行查询,所以这是唯一的参数:
async.Future<PhotoCollection> list(core.String postId) {...
如果将方法的参数用大括号括起来,则可以修改 因此,您仍然可以使用具有给定签名的方法。您只需添加要传递的参数的名称:
api.photos.list(postId: "post1");
看起来是个赢家。谢谢显然,我对Dart方法语义的理解有点动摇。
api.photos.list(postId: "post1");