- 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.
- Implementing Modern DevOps
- Visual C++串口通信開發入門與編程實踐
- 華為HMS生態與應用開發實戰
- TypeScript圖形渲染實戰:基于WebGL的3D架構與實現
- Python漫游數學王國:高等數學、線性代數、數理統計及運籌學
- bbPress Complete
- Mastering ROS for Robotics Programming
- Java Web應用開發項目教程
- Arduino可穿戴設備開發
- 零基礎學Java第2版
- HikariCP數據庫連接池實戰
- Pandas入門與實戰應用:基于Python的數據分析與處理
- SQL Server 2014數據庫設計與開發教程(微課版)
- 像程序員一樣使用MySQL
- 算法學習與應用從入門到精通