什么是ResourceContainers以及如何将它们用于Cloud Endpoints?

Nik*_*raf 6 google-app-engine google-cloud-endpoints

自Google AppEngine 1.8.5开始,在开发环境中出现了一个新警告:

WARNING  2013-09-27 10:10:53,035 api_config.py:1768] Method specifies path
parameters but you are not using a ResourceContainer. This will fail in future
releases; please switch to using ResourceContainer as soon as possible.
Run Code Online (Sandbox Code Playgroud)

什么是ResourceContainers以及如何使用它们?

Sca*_*ami 9

他们最近更新了文档以解释此更改:Google App Engine Docs

基本上你想要做的是分离请求体和查询/路径参数.

请求正文将是一个普通的messages.Message类,您可以在其中定义任何其他参数ResourceContainer.

YOUR_RESOURCE_CONTAINER = endpoints.ResourceContainer(
        MyRequestBodyMessagesClass,
        parameter1=messages.IntegerField(2, required=True)
        parameter2=messages.StringField(3))
Run Code Online (Sandbox Code Playgroud)

此更改应有助于最小化必要的Message类的数量,因为您也可以主要使用RequestBody-Message for Response-Messages.

注意:如果您使用的是端点-proto-datastore,那么就会出现一个未解决的问题.