Hi Bruno, I am not creating, I am trying to update... The example record:
*A simple entry:* *estadio.cod_estadio* *estadio.nome_estadio* *estadio.cidade**1**A Definir**A Definir* On Fri, Aug 10, 2012 at 3:25 PM, Bruno Rocha <[email protected]> wrote: > Dirk posted this on web2pyslices... > > To PUT (=update) something, you need to call: > > curl -i -H "Accept: application/json" -X PUT --user user:pass -d > "f_entry=something newest" > http://127.0.0.1:8000/RT/default/api/entries/1.json > > with id=1 being an existing entry. > > So of course, PUT works as update... the 1.json refers to an existing > record... > > If you want to create a new record you need to use POST, I think... > > > On Fri, Aug 10, 2012 at 3:21 PM, Tito Garrido <[email protected]>wrote: > >> Version 1.99.4 (2011-12-14 14:46:14) stableRunning on Apache/2.2.17 >> (Unix) mod_wsgi/3.3 Python/2.7.3 >> >> On Fri, Aug 10, 2012 at 11:00 AM, Massimo Di Pierro < >> [email protected]> wrote: >> >>> Which web2py version? >>> >>> >>> On Friday, 10 August 2012 08:39:40 UTC-5, Tito Garrido wrote: >>> >>>> Same error using locals() >>>> >>>> :( >>>> >>>> On Thu, Aug 9, 2012 at 5:23 PM, Bruno Rocha <[email protected]> wrote: >>>> >>>>> try to replace return dict(GET=GET, POST=POST, PUT=PUT, DELETE=DELETE) >>>>> with return locals() >>>>> >>>>> I dont know, but maybe its the problem >>>>> >>>>> On Wed, Aug 8, 2012 at 10:49 PM, Tito Garrido <[email protected]>wrote: >>>>> >>>>>> Hi folks, >>>>>> >>>>>> *I have a simple table:* >>>>>> >>>>>> *db.define_table('estadio', >>>>>> Field('cod_estadio','id'), >>>>>> Field('nome_estadio'), >>>>>> Field('cidade'),migrate=False) * >>>>>> >>>>>> *A simple entry:* >>>>>> >>>>>> *estadio.cod_estadio**estadio.nome_estadio* *estadio.cidade**1**A >>>>>> Definir**A Definir* >>>>>> and using Bruno's example in web2pyslice: >>>>>> >>>>>> >>>>>> 1. @request.restful() >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> 2. def api(): >>>>>> 3. response.view = 'generic.'+request.extension >>>>>> 4. def GET(*args,**vars): >>>>>> 5. patterns = 'auto' >>>>>> 6. parser = db.parse_as_rest(patterns,args**,vars) >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> 7. if parser.status == 200: >>>>>> 8. return dict(content=parser.response) >>>>>> 9. else: >>>>>> 10. raise HTTP(parser.status,parser.erro**r) >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> 11. def POST(table_name,**vars): >>>>>> 12. return db[table_name].validate_and_**insert(**vars) >>>>>> 13. def PUT(table_name,record_id,**var**s): >>>>>> 14. return db(db[table_name]._id==record_**id).update(**vars) >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> 15. def DELETE(table_name,record_id): >>>>>> 16. return db(db[table_name]._id==record_**id).delete() >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> 17. return dict(GET=GET, POST=POST, PUT=PUT, DELETE=DELETE) >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> *but when I try to:* >>>>>> * >>>>>> curl -i -H "Accept: application/json" -X PUT -d "nome_estadio='teste" >>>>>> http://127.0.0.1:8080/ws/default/api/estadio/cod-estadio/1.json* >>>>>> >>>>>> *it returns:* >>>>>> >>>>>> HTTP/1.1 400 BAD REQUEST >>>>>> Server: nginx >>>>>> Date: Thu, 09 Aug 2012 01:41:44 GMT >>>>>> Content-Type: text/html; charset=UTF-8 >>>>>> Connection: keep-alive >>>>>> Set-Cookie: >>>>>> session_id_ws=xxxxxxxxxx-**65e0b712-7d93-4b21-a553-**d06ce06af2a2; >>>>>> Path=/ >>>>>> Content-Length: 540 >>>>>> >>>>>> invalid arguments<!-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx** >>>>>> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx** >>>>>> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx** >>>>>> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx** >>>>>> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx** >>>>>> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx** >>>>>> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx** >>>>>> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx** >>>>>> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**xx >>>>>> //--> >>>>>> >>>>>> *What am I missing here? >>>>>> >>>>>> Thanks in advance!* >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> Linux User #387870 >>>>>> .........____ >>>>>> .... _/_õ|__| >>>>>> ..º[ .-.___.-._| . . . . >>>>>> .__( o)__( o).:_______ >>>>>> >>>>>> -- >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> -- >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> -- >>>> >>>> Linux User #387870 >>>> .........____ >>>> .... _/_õ|__| >>>> ..º[ .-.___.-._| . . . . >>>> .__( o)__( o).:_______ >>>> >>> -- >>> >>> >>> >>> >> >> >> >> -- >> >> Linux User #387870 >> .........____ >> .... _/_õ|__| >> ..º[ .-.___.-._| . . . . >> .__( o)__( o).:_______ >> >> -- >> >> >> >> > > -- > > > > -- Linux User #387870 .........____ .... _/_õ|__| ..º[ .-.___.-._| . . . . .__( o)__( o).:_______ --

