{% load i18n %}
jsonData = { 'method': <method_name>, 'kwargs': { 'key': <param1>, 'key2': <param2>, 'key3': [ <param3_1>, <param3_2>, <param3_3> ], ... }, 'username': <login_name>, 'password': <password>, }Либо они передаются непосредственно в POST запросе, причём параметры авторизации везде необязательны. Пример* для jQuery:
$.post('/api/', { 'method': <method_name>, 'key': <param1>, 'key2': <param2>, 'key3': [ <param3_1>, <param3_2>, <param3_3> ] }, function() {});Ключ "key3" в этом случае jQuery автоматически изменит на "key3[]".
$.post('/api/', { jsonData: JSON.stringify({ 'method': <method_name>, 'kwargs': { 'key': <param1>, 'key2': <param2>, 'key3': [ <param3_1>, <param3_2>, <param3_3> ], ... }, }) }, function() {});Для правильной сериализации дат в JSON лучше использовать специальный плагин jQuery.
import urllib2, urllib, json, base64 url = 'https://{{ request.get_host|default:'localhost' }}/api/' data = {'method':"get_orders_id", 'kwargs':{'date':'2012-01-01', 'state': 4 },} data = urllib.urlencode({'jsonData':json.dumps(data)}) req = urllib2.Request(url, data=data, headers={ 'Authorization': 'Basic ' + base64.b64encode('%s:%s' % ('login', 'passwd')) } ) r = urllib2.urlopen(req) print r.read()
import urllib2, urllib, json url = 'https://{{ request.get_host|default:'localhost' }}/api/' data = {'username':'login','password':'passwd','method':"get_orders_id", 'kwargs':{'date': '2012-01-01', 'state':2 }, } data = urllib.urlencode({'jsonData':json.dumps(data)}) r = urllib2.urlopen(url, data=data) print r.read()
JSON_object = { 'status': 200, // коды HTTP, имеющие смысл. 'message': 'Строчное сообщение для пользователя', 'data': <Вложенный объект JSON>, }Тип и структура вложенного объекта зависят от вызываемого метода (см. документацию ниже).
№ | Название метода | Описание использования |
---|---|---|
{{ forloop.counter }} | {{ m.name }} |
{{ m.doc|safe }} |