Version 10 (modified by 16 years ago) ( diff ) | ,
---|
Web Services
We want to be able to access data from the database exported as JSON for easy use within Javascript clients.
This can be done by simply calling the RESTlike controller with the var ?format=json
:
/sahana/module/resource?format=json # Lists all records of this resource /sahana/module/resource/id?format=json # Display record with record.id==id /sahana/module/resource/create?format=json # ToDo /sahana/module/resource/update/id?format=json # ToDo
The underlying output functions are very easy within Web2Py since 1.55:
def display_json(): "Designed to be called via AJAX to be processed within JS client." list=db(db.table.id==t2.id).select(db.table.ALL).json() response.view='plain.html' return dict(item=list)
tools.py
now supports easy exposing of functions to XMLRPC or JSONRPC:
- http://web2py.com/examples/default/tools#services
- http://groups.google.com/group/web2py/browse_thread/thread/53086d5f89ac3ae2
(originally in T3: http://groups.google.com/group/web2py/browse_thread/thread/9ec8b06b158adb75):
Model:
from gluon.tools import Service service=Service(globals())
Controller:
@service.jsonrpc @service.xmlrpc @service.amfrpc def organisation(): "RESTlike CRUD controller" return shn_rest_controller(module,'organisation')
Another approach (using JSONRPC e.g. with Pyjamas):
- http://mdp.cti.depaul.edu/AlterEgo/default/show/203
- http://groups.google.com/group/web2py/browse_thread/thread/9bb107c2fbd1a34b
Note:
See TracWiki
for help on using the wiki.