先提一下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字符串中不允许出现单引号。