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.

Reply via email to