It's a REST service. it calls the generic json view and everything is done 
thru the controller. You access it thru the usual GET/POST/PUT/DELETE 
method.


Le samedi 13 février 2016 18:51:57 UTC+1, xmarx a écrit :
>
> thank you for your question and answer. what is your ajax code. i cannot 
> find how to do it?
>
> 2016-02-13 19:33 GMT+02:00 Mamisoa Andriantafika <mam...@gmail.com 
> <javascript:>>:
>
>> Ok here is my answer:
>>
>> # RESTFUL CRUD
>> @request.restful()
>> def api():
>>     import json
>>     response.view = 'generic.json'
>>     def GET(tablename,**vars): # GET VALUES
>>         if not tablename=='test': raise HTTP(400)
>>         if request.vars.search == None:
>>             rows= db(db.test).select()
>>             test = row2json(tablename,rows)
>>             return test
>>         else : 
>>             rows = db(db.test.testname.contains(vars['search'])).select()
>>             test = row2json(tablename,rows)
>>             return test
>>     def DELETE(tablename,id):
>>         if not tablename=='test': raise HTTP(400)
>>         return db(db.test.id == id).delete()
>>     def PUT(tablename,record_id,**vars):
>>         if not tablename=='test': raise HTTP(400)
>>         if record_id=='': raise HTTP(400)
>>         return db(db.test._id==record_id).update(**vars)
>>     def POST(tablename,**vars):
>>         if not tablename=='test': raise HTTP(400)
>>         return db.test.validate_and_insert(**vars)
>>     return locals()
>>
>> def row2json (tablename,rows):
>>     import json
>>     rows = rows.as_list()
>>     # concat = '{ "Result": "OK", "'+tablename+'": ['
>>     concat = '{ "Result": "OK", "Records": ['
>>     # concat = '{ "'+tablename+'": ['
>>     for row in rows:
>>                 concat = concat + json.dumps(row)+","
>>     concat = concat.strip(',')
>>     concat = concat + ']}'
>>     return concat
>>
>>
>> Mike
>>
>>
>> Le samedi 13 février 2016 14:59:53 UTC+1, Mamisoa Andriantafika a écrit :
>>
>>> Hi,
>>>
>>> I'm trying to ajust the output of the REST services.
>>>
>>> Here is my code:
>>>
>>> @request.restful()
>>> def api():
>>>     response.view = 'generic.json'
>>>     def GET(tablename,**vars): # GET VALUES
>>>         if not tablename=='test': raise HTTP(400)
>>>         if request.vars.search == None:
>>>             return dict(test= db(db.test).select())
>>>         else : 
>>>             return dict(test = db(db.test.testname.contains(vars[
>>> 'search'])).select())
>>>     def DELETE(tablename,id):
>>>         if not tablename=='test': raise HTTP(400)
>>>         return db(db.test.id == id).delete()
>>>     def PUT(tablename,record_id,**vars):
>>>         if not tablename=='test': raise HTTP(400)
>>>         if record_id=='': raise HTTP(400)
>>>         return db(db.test._id==record_id).update(**vars)
>>>     def POST(tablename,**vars):
>>>         if not tablename=='test': raise HTTP(400)
>>>         return db.test.validate_and_insert(**vars)
>>>     return locals()
>>>
>>> For example, the GET method gives me this output:
>>> {"test": [{"testname": "test18", "id": 4, "testvalue": "119"}, {
>>> "testname": "test18", "id": 10, "testvalue": "119"}, {"testname": 
>>> "test19", "id": 11, "testvalue": "edt125"}, {"testname": "lmklm", "id": 
>>> 19, "testvalue": "opopo"}, {"testname": "test19", "id": 20, "testvalue": 
>>> "edt125"}, {"testname": "lmkhjkhj", "id": 21, "testvalue": "lmmmjkhjk"}, 
>>> {"testname": "jj", "id": 22, "testvalue": "lmmmjkhjkghgh"}, {"testname": 
>>> "jjhhh", "id": 23, "testvalue": "hjhgj"}, {"testname": "jjhhhjhgjh", 
>>> "id": 24, "testvalue": "hjhgjhh"}]} 
>>>
>>> *How coud I get this output:*
>>>
>>> {*"Result" : "OK"*, "test": [{"testname": "test18", "id": 4, "testvalue"
>>> : "119"}, {"testname": "test18", "id": 10, "testvalue": "119"}, {
>>> "testname": "test19", "id": 11, "testvalue": "edt125"}, {"testname": 
>>> "lmklm", "id": 19, "testvalue": "opopo"}, {"testname": "test19", "id": 
>>> 20, "testvalue": "edt125"}, {"testname": "lmkhjkhj", "id": 21, 
>>> "testvalue": "lmmmjkhjk"}, {"testname": "jj", "id": 22, "testvalue": 
>>> "lmmmjkhjkghgh"}, {"testname": "jjhhh", "id": 23, "testvalue": "hjhgj"}, 
>>> {"testname": "jjhhhjhgjh", "id": 24, "testvalue": "hjhgjhh"}]} 
>>>
>>> Or, another issue,* the output without the "test":* 
>>> {"testname": "test18", "id": 4, "testvalue":
>>> ...
>>
>> -- 
>> Resources:
>> - http://web2py.com
>> - http://web2py.com/book (Documentation)
>> - http://github.com/web2py/web2py (Source code)
>> - https://code.google.com/p/web2py/issues/list (Report Issues)
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "web2py-users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to web2py+un...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to