cherrypy-jsonrpc stellt CherryPy eine Klasse zum Handling von JSON-RPC v2.0 zur Verfügung.
Leitet man eine Klasse von dieser Klasse ab, werden alle mit
<FunctionName>.exposed = True
gekennzeichneten Methoden dieser Klasse zu JSON-RPC-Methoden.
An der Umsetzung des JSON-RPC-Servers zur Verwendung als CherryPy-Tool wird derzeit gearbeitet.
Informationen:
- JSON-RPC Specification
- Historical JSON-RPC Specifications
- JSON-Schema (klingt interessant - sollte man einbauen)
Beispiel:
#!/usr/bin/env python
# coding: utf-8
import cherrypy
import cpjsonrpcserver
class JsonRpcMethods(cpjsonrpcserver.JsonRpcMethods):
def hello(self, name):
return u"Hello " + name
hello.exposed = True
def multi(self, num):
return num * 2
multi.exposed = True
def main():
cherrypy.quickstart(JsonRpcMethods(debug = True))
if __name__ == "__main__":
main()