python api接口设计_接口API的编写以及Python入门经验谈

本文通过Python的Flask框架展示了如何设计和实现API接口,包括GET获取用户信息、POST创建用户、PUT更新用户数据和DELETE删除用户数据的操作。同时,文章提供了处理错误和JSON响应的示例。
摘要由CSDN通过智能技术生成

#coding:utf-8

from flask import Flask,jsonify,abort,make_response

from flask import request

#初始化app

app = Flask(__name__)

#用户名和密码

users = [

{

'id':1,

'username':"huahua",

'password':123456

},

{

'id':2,

'username':"sunliqin",

'password':5426241

}

]

'''

get 方法的使用

'''

#获取所有用户

@app.route('/api/users',methods=['GET'])

def get_users():

return jsonify({'users':users})

#获取某一个用户

@app.route('/api/users/',methods=['GET'])

def get_oneuser(user_id):

user = filter(lambda a:a['id']==user_id,users)

if len(user) == 0:

abort(404)

return jsonify({'user':user[0]})

#发生错误的时候

@app.errorhandler(404)

def not_found(error):

return make_response(jsonify({'error':'not be found'}), 404)

'''

post方法的使用,意思是创建一个资源 注意in的用法可以直接在集合set list dict truple 中进行判断

我们可以采用两种方式来提交数据,一种是表单提交使用request.form,另一种方法是使用json格式数据来提交使用request.json形式

'''

# @app.route('/api/users',methods=['POST'])

# def create_user():

#    if not request.json or not 'username' in request.json :

#        abort(400)

#

#    user = {

#        'id':users[-1]['id'] + 1,

#        'username':request.json['username'],

#        'password':request.json['password']

#    }

#    print type(request.json)

#    users.append(user)

#    return jsonify({'user':user}), 201

@app.route('/api/users',methods=['POST'])

def create_user():

if not request.form or not 'username' in request.form :

abort(400)

user = {

'id':users[-1]['id'] + 1,

'username':request.form['username'],

'password':request.form['password']

}

print type(request.form)

users.append(user)

return jsonify({'user':user}), 201

'''

put更新用户数据

'''

@app.route('/api/users/',methods=['PUT'])

def update_user(user_id):

user = filter(lambda a:a['id'] == user_id, users)

if len(user) == 0:

abort(404)

if not request.json:

abort(400)

user[0]['username'] = request.json.get('username',user[0]['username'])

user[0]['password'] = request.json.get('password',user[0]['password'])

return jsonify({'user':user[0]})

'''

delete 删除用户数据

'''

@app.route('/api/users/',methods=['DELETE'])

def delete_user(user_id):

user = filter(lambda a: a['id'] == user_id, users)

if len(user) == 0:

abort(404)

if not request.json:

abort(400)

users.remove(user[0])

return jsonify({'result':True})

if __name__ == '__main__':

app.run(debug=True)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值