- Cloud Native Python
- Manish Sethi
- 328字
- 2021-07-02 19:11:59
PUT /api/v1/users
The PUT API basically helps us update a user's record specified by user_id.
Go ahead and create a route with the PUT method to update the user records defined in the app.py file, as follows:
@app.route('/api/v1/users/<int:user_id>', methods=['PUT']) def update_user(user_id): user = {} if not request.json: abort(400) user['id']=user_id key_list = request.json.keys() for i in key_list: user[i] = request.json[i] print (user) return jsonify({'status': upd_user(user)}), 200
Let's specify the definition of the upd_user(user) function, which basically updates the information in the database with the check that the user id exists:
def upd_user(user): conn = sqlite3.connect('mydb.db') print ("Opened database successfully"); cursor=conn.cursor() cursor.execute("SELECT * from users where id=? ",(user['id'],)) data = cursor.fetchall() print (data) if len(data) == 0: abort(404) else: key_list=user.keys() for i in key_list: if i != "id": print (user, i) # cursor.execute("UPDATE users set {0}=? where id=? ",
(i, user[i], user['id'])) cursor.execute("""UPDATE users SET {0} = ? WHERE id =
?""".format(i), (user[i], user['id'])) conn.commit() return "Success"
Now that we have added the API handle for the PUT method for the user resource, let's test it out as follows:

We have defined our resources that are a part of version v1. Now, let's define our next version release, v2, which will add a tweet resource to our microservices. Users who are defined in users resources are allowed to perform actions on their tweets. Now, /api/info will be shown, as follows:

Our tweets resource will use the HTTP methods as follows:

We can define a tweet as having the following fields:
- id: This is the unique identifier for each tweet (Numeric type)
- username: This should exist as a user in the users resources (String type)
- body: This is the content of the tweet (String type)
- Tweet_time: (Specify type)
You can define the preceding tweets resource schema in SQLite 3 as follows:
CREATE TABLE tweets( id integer primary key autoincrement, username varchar2(30), body varchar2(30), tweet_time date);
Great! The tweets resource schema is ready; let's create our GET methods for the tweets resource.
- Docker and Kubernetes for Java Developers
- Protocol-Oriented Programming with Swift
- 零基礎(chǔ)入門(mén)學(xué)習(xí)Python(第2版)
- Python深度學(xué)習(xí)原理、算法與案例
- Mastering Akka
- Couchbase Essentials
- SQL Server 2008 R2數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用(第3版)
- JSP程序設(shè)計(jì)實(shí)例教程(第2版)
- 一步一步跟我學(xué)Scratch3.0案例
- Mudbox 2013 Cookbook
- 軟件設(shè)計(jì)模式(Java版)
- Pandas 1.x Cookbook
- 系統(tǒng)分析師UML用例實(shí)戰(zhàn)
- Python深度學(xué)習(xí)入門(mén):從零構(gòu)建CNN和RNN
- Scratch 3.0少兒積木式編程(6~10歲)