flask框架,RESTful API的请求及返回参数探索

先提一下RESTful API设计原则
GET 用来获取资源
POST 用来新建资源(也可以用于更新资源)
PUT 用来更新资源
DELETE 用来删除资源

在一个注册到RESTful API的对象中,可以通过特定的成员函数来匹配对应的http请求方法,代码如下:

class User(Resource):
    def get(self):
        result = [1,2,3,4]
        userid = request.args.get('userid')  // get方法时可以直接获取请求参数
        return result, 200

    def post(self):
        json_data = request.get_json(force=True)
        return json_data, 200

    def put(self):
        return {"method":"update"}, 200

    def delete(self):
        return {"method":"delte"}, 200

1、User对象内部的成员函数各自对应的http不同的请求方法(GET、POST、PUT、DELETE)的实现路由,如果类未实现,那么针对对应的请求方法,restful会返回报错“The method is not allowed for the requested URL”

2、成员函数可以直接返回json对象,restful会帮你把结果直接返回给请求方,也可以返回set,如[1,2,3,4]之类。

3、get请求时,举例请求 http://127.0.0.1:9000/user/?userid=12345,那么在user的get方法中,可以通过request.args.get方法来获取请求参数(见上述示例代码)

4、post方法时,建议请求参数为json,可以直接通过request.json获取请求参数,举例请求:

curl 'http://127.0.0.1:9000/user' -d '{"cmd":"test","userid":12345}',根据上述代码,则会返回

{
    "cmd":"test",
    "fund_key":12345
}
注意:请求的json字符串,其key必须带上双引号",且json字符串中不允许出现单引号。



你可能感兴趣的:(flask框架,RESTful API的请求及返回参数探索)