RESTful是一种API设计规范。
在RESTful架构中,主要使用POST,DELETE,PUT和GET四种HTTP请求方式分别对指定的URL资源进行增删改查操作。
RESTful之前的做法:
/users/query/1 GET 根据用户id查询用户数据
/users/save POST 新增用户
/users/update POST 修改用户信息
/users/delete GET/POST 删除用户信息
RESTful做法:
/users/1 GET 根据用户id查询用户数据
/users POST 新增用户
/users PUT 修改用户信息
/users DELETE 删除用户信息
客户端的每一次请求,服务器都会给出回应,回应包括 HTTP 状态码和数据两部分。
部分状态码:
GET: 200 OK
POST: 201 Created
PUT: 200 OK
DELETE: 204 No Content
使用Flask实现一个RESTful API服务的例子
from flask importFlask,jsonify,abort,make_response,requestfrom flask_httpauth importHTTPBasicAuth
app= Flask(__name__)
auth=HTTPBasicAuth()
users=[
{'id': 1,'username': '小明','sex': 1},
{'id': 2,'username': '小红','sex': 0
}
]#访问前需要提供用户名和密码
@auth.get_passworddefget_password(username):if username == 'admin':return '123456'
returnNone#友好的错误提示:没有权限
@auth.error_handlerdefunauthorized():return make_response(jsonify({'error': '未授权'}), 403)#友好的错误提示:找不到资源页面
@app.errorhandler(404)defnot_found(error):return make_response(jsonify({'error': '找不到资源'}), 404)#返回所有用户的记录
@app.route('/api/v1.0/users', methods=['GET'])
@auth.login_required#需要认证
defget_users():return jsonify({'users': users})#返回一个用户的记录记录
@app.route('/api/v1.0/users/', methods&#