Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are ResourceContainers and how to use them for Cloud Endpoints?

Since Google AppEngine 1.8.5 there is a new warning in the development environment:

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.

What are ResourceContainers and how to use them?

like image 872
Nik Graf Avatar asked Sep 27 '13 10:09

Nik Graf


1 Answers

They recently updated the docs to explain this change here: Google App Engine Docs

Basically what you want to do is to separate the request body and the query/path parameters.

The request body will be a normal messages.Message class and you define any additional parameters in the ResourceContainer.

YOUR_RESOURCE_CONTAINER = endpoints.ResourceContainer(
        MyRequestBodyMessagesClass,
        parameter1=messages.IntegerField(2, required=True)
        parameter2=messages.StringField(3))

This change should help to minimize the amount of necessary Message classes because you can mostly reuse the RequestBody-Message for Response-Messages as well.

Note: if you are using the endpoints-proto-datastore there's an open issue about this.

like image 69
Scarygami Avatar answered Sep 21 '22 22:09

Scarygami