Welcome to restae’s documentation!¶
restae is a light framework build on the top of webapp2 and is meant tu be used on Google App Engine.
Terms of content¶
Installation¶
Install with Pip.
$ pip install restae
If you want, you can always download the latest bleeding edge from GitHub:
$ git clone git://github.com/tolsac/restae.git $ cd restae $ ./setup.py install
Restae supports Python 2.6, 2.7.
Examples¶
Let’s take a look at a quick example of using restae to build a simple model-backed API. We’ll create a read-write API for accessing information on the users of our project. Any global settings for the API are kept in a single configuration dictionary named RESTAE_SETTINGS.
import webapp2 from google.appengine.ext import ndb from restae.handlers import APIModelHandler from restae.router import Router from restae.serializers import ModelSerializer class User(ndb.Model): email = ndb.StringProperty() first_name = ndb.StringProperty() last_name = ndb.StringProperty() class UserModelSerializer(ModelSerializer): class Meta: model = User fields = '__all__' class Handler(APIModelHandler): queryset = User.query() serializer_class = UserModelSerializer router = Router() router.register('user', Handler) app = webapp2.WSGIApplication(router.urls)
This will generate the following routes
GET /user/ \ list action GET /user \ list action (idem without trailing slash) GET /user/<user key urlsafe>/ \ retrieve action GET /user/<user key urlsafe> \ retrieve action (idem without trailing slash) POST /user/ \ create action POST /user \ create action (idem without trailing slash) PUT /user/<user key urlsafe>/ \ update action PUT /user/<user key urlsafe> \ update action (idem without trailing slash) PATCH /user/<user key urlsafe>/ \ partial_update action PATCH /user/<user key urlsafe> \ partial_update action (idem without trailing slash) DELETE /user/<user key urlsafe>/ \ destroy action DELETE /user/<user key urlsafe> \ destroy action (idem without trailing slash)
Handlers¶
Basically you do not need this API but if you are curious feel free to check it out.
BaseHandler¶
APIHandler¶
APIModelListHandler¶
APIModelCreateHandler¶
APIModelRetrieveHandler¶
APIModelUpdateHandler¶
APIModelPatchHandler¶
APIModelDestroyHandler¶
APIModelMixinHandler¶
APIModelHandler¶
Router¶
Router class definitions
Route¶
Url¶
Router¶
-
class
restae.router.
Router
[source]¶ The default router
-
get_lookup_regex
(handler)[source]¶ Given a handler, return the portion of URL regex that is used to match against a single instance.
-
get_method_map
(handler, method_map)[source]¶ Given an handler, and a mapping of http methods to actions, return a new mapping which only includes any mappings that are actually implemented by the viewset.
-
Middleware¶
Middleware class definitions
Pagination¶
Pagination class definitions
CursorPagination¶
-
class
restae.pagination.
CursorPagination
[source]¶ A simple cursor based style that supports cursors urlsafe as query parameters. For example: http://api.example.org/accounts/?page_token=<URLSAFE STRING>
Response¶
Response class definitions
Serializers¶
Serializers class definitions
Field¶
BooleanField¶
IntegerField¶
StringField¶
FloatField¶
DatetimeField¶
Decorators¶
Decorators class definitions