Lookint at providing simple REST API to database tables through web2py. I used this example from the book: @request.restful() def secapi(): response.view = 'generic.'+request.extension def GET(*args,**vars): patterns = 'auto' parser = db.parse_as_rest(patterns,args,vars) if parser.status == 200: return dict(content=parser.response) else: raise HTTP(parser.status,parser.error) def POST(table_name,**vars): return db[table_name].validate_and_insert(**vars) def PUT(table_name,record_id,**vars): return db(db[table_name]._id==record_id).update(**vars) def DELETE(table_name,record_id): return db(db[table_name]._id==record_id).delete() return dict(GET=GET, POST=POST, PUT=PUT, DELETE=DELETE)
Now the GET methods work, I can get json responses with curl: curl http://localhost:8007/apitest/default/secapi/secrets.json {"content": [{"datavalue": "foobar", "id": 1}, ... ]} When I POST though: $ curl --data "datavalue=sometest" http: //localhost:8007/apitest/default/secapi/secrets.json I get the response: errorsid When I really want the resource URL of the created thing. It did actually create the row: curl http://localhost:8007/apitest/default/secapi/secrets/id/20.json {"content": [{"datavalue": "sometest", "id": 20}]} So my question is, how do I code the POST such that it returns the resource URL that was created? Thanks -- 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.