-
Notifications
You must be signed in to change notification settings - Fork 0
infrae/infrae.rest
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
=========== infrae.rest =========== ``infrae.rest`` provide a simple way to write REST APIs in Zope 2. API === REST component -------------- ``infrae.rest`` provides mainly a base class ``REST`` which behave a lot like a Grok view:: from infrae.rest import REST class MyAction(REST): """My action REST API. """ def POST(self, name, value): # Called by POST /content/++rest++myaction&name=foo?value=bar return 'Success' def GET(self): # Called by GET /content/++rest++myaction values = self.context.something() return self.json_response(values) You just have to grok your package to make it available. - You can provide: ``POST``, ``GET``, ``HEAD``, ``DELETE`` requests. - You can use the directives ``grok.name``, ``grok.require`` and ``grok.context`` to configure your REST API. They work exactly like on a ``grok.View``. - If you need, you can manually query a REST component with the help of ``infrae.rest.queryRESTComponent``. Nesting REST component ---------------------- You can nest REST component. In that you should use the grok directive adapts in order to define which is the parent handler, and the context:: from infrae.rest import REST from five import grok from OFS.Folder import Folder class ParentHandler(REST): grok.context(Folder) def GET(self): # Called by GET /folder/++rest++parenthandler return u'Hello' class ChildHandler(REST): grok.adapts(ParentHandler, Folder) def GET(self): # Called by GET /folder/++rest++parenthandler/childhandler return u'Child RESTWithTemplate component -------------------------- You can alternatively use the base class ``RESTWithTemplate``. The only difference is that your class will be associated to a Grok template automatically. Repository ========== Sources can be found in Git at: https://github.com/infrae/infrae.rest
About
Define a REST API to access and manage Zope 2 content
Resources
Stars
Watchers
Forks
Packages 0
No packages published