Feature Request: Usable JSON-RPC API
|Reported by:||Oroku Saki||Owned by:||nobody|
|Cc:||Triage Stage:||Design decision needed|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
The existing JSON-RPC Django implementations out there are limited and hackish. I've experienced:
this one: http://code.djangoproject.com/wiki/JSONRPCServerMiddleware (which is simple but not very Django-ish as it uses )
and this one: http://code.djangoproject.com/wiki/JSON-RPC (which starts out with the right idea of using views, but doesn't seem to Djang-ish upon further investigation:
from jsonrpc import jsonrpc_site import myproj.myapp.views # you must import the views that need connected into urls.py and what is jsonrpc_site? urls += patterns('', (r'^json/', jsonrpc_site.dispatch))
I think that JSON-RPC is important enough for an official well architected / well documented implementation that works well within the normal functionality of Django but I'm not experienced enough to offer a solution. That said, I am willing to spend a couple weeks working on it, with direction from more experienced programmers on here. (Maybe the existing frameworks are great and I'm too much of an amateur to understand their architecture. If that is the case, let me know and I'll close this and shut up.
My only initial thoughts are:
1) Perhaps the API should allow for an API class of API methods and when you register the class the methods become available.
2) Maybe the focus should be less on JSON-2 or 1.1 specs (since there appears to be some ambiguity in that group anyways) and more on usability and flexibility.