たとえば、クラス CompanyEndpointsModel
への参照を含むクラス Employee がある場合、その従業員をリストするメソッドをクラス CompanyServiceEndpointsModel
にどのように含めますか?remote.Service
この質問は、「メソッド内でクエリ変数にアクセスするにはどうすればよいですか?」という表現の方が適切かもしれません。
パスは次のようになります。
GET http://localhost:8080/_ah/api/contacts/v1/companies/123/employees
ここにありCompanyService::employees()
ます:
@Employee.query_method(http_method='GET', path='companies/{id}/employees')
def employees(self, company):
"""
Retrieve the employees for this company
"""
company_key = ndb.Key(Company, company)
return Employee.query(Employee.company == company_key).fetch(20)
company_key
ハードコードされた値、たとえば「123」を使用して が計算される場合、このメソッドは実際には完全に機能します。しかし、会社IDを取得する方法は? 「query_method」メソッドとは対照的に、「query」メソッドでは、これは単にメソッドが呼び出されるモデル パラメータの属性です。query
しかし、「query_method」メソッドが呼び出されるパラメーターから値を抽出する簡単な方法はないようです。
これは、私が作成したいすべての API の中心的な設計機能であるため、実際に解決する必要があります。EPD とエンドポイント ライブラリを構成するエンジニアリングのボイラープレートは、コメントでいくつかの優れたドキュメントを提供しますが、コード自体は私の給与等級を超えています :-)