python + Flask模塊學習 2 接收用戶請求并返回json數據

用到的模塊還是flask,用到的類有Flask, request, jsonfiy 🙂

目錄

1、GET請求

2、POST請求

1、表單格式

2、json格式

就醬,也比較簡單,下一篇說簡單的授權,簡單來說就是比如用戶付費買了服務,怎么校驗該用戶是否有門卡進門使用功能(●'?'●)


1、GET請求

  • 一般參數在url中?
  • 用request.args.get獲取url中用戶傳過來的參數

# 示例數據
http://127.0.0.1.5000/index?age=19&pwd=234

from flask import Flask, request, jsonifyapp = Flask(__name__)@app.route('/index', methods=['GET'])
def index():# 獲取查詢參數age = request.args.get('age')pwd = request.args.get('pwd')# 返回獲取的參數作為響應return jsonify({'age': age, 'pwd': pwd})if __name__ == '__main__':app.run(debug=True)

2、POST請求

  • 參數在body中 分為表單格式和json格式
  • 分別用request.form.get / request.json.get 去獲取用戶傳入的數據
1、表單格式

# 示例數據
http://127.0.0.1.5000/index?age=2&pwd=7687
POST

from flask import Flask, request, jsonifyapp = Flask(__name__)@app.route('/', methods=['POST'])
def process_form():# 從表單數據中提取參數age = request.form.get('age')pwd = request.form.get('pwd')# 返回成功的 JSON 響應return jsonify({'status': 'success','message': 'Form request processed successfully','data': {'age': age,'pwd': pwd}}), 200if __name__ == '__main__':app.run(debug=True)
2、json格式

# 示例數據
http://127.0.0.1.5000/index
POST
{'age':2, 'pwd':7687}

多句嘴 python常用的處理json數據的方法有下面幾種,

用Python 標準庫自帶的?json?模塊是處理 JSON 數據的基礎工具,支持 JSON 與 Python 數據類型的相互轉換。

核心方法:

  • json.dumps():將 Python 對象轉換為 JSON 字符串
  • json.loads():將 JSON 字符串轉換為 Python 對象
  • json.dump():將 Python 對象寫入文件(JSON 格式)
  • json.load():從文件讀取 JSON 數據并轉換為 Python 對象

但是flask中的jsonify就直接jsonify()即可 比較簡單 咱們直接用這個就好了?

from flask import Flask, request, jsonifyapp = Flask(__name__)@app.route('/', methods=['POST'])
def process_data():# 從請求的 JSON 主體中獲取數據age = request.json.get('age')pwd = request.json.get('pwd')# 在這里可以處理 age 和 pwd 的業務邏輯# 返回成功的 JSON 響應return jsonify({'status': 'success','message': 'Post request processed successfully','data': {'age': age,'pwd': pwd}}), 200if __name__ == '__main__':app.run(debug=True)

為什么要獲取用戶傳入的數據, 我們在返回給數據到用戶之前,需要做數據存儲與分析或者個性化交互等功能,再比如說驗證這個用戶是否有權向我們的服務器發送數據啊等等,我們做一系列的算法處理,功能之后返回給用戶數據,知道這個之后,也就能get到拿取用戶傳過來的數據是進行后續學習的基礎

就醬,也比較簡單,下一篇說簡單的授權,簡單來說就是比如用戶付費買了服務,怎么校驗該用戶是否有門卡進門使用功能(●'?'●)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/96125.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/96125.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/96125.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

國內外常用的免費BUG管理工具選型

幫助用戶根據自身情況做決定,比如團隊規模、技術能力、是否需要移動端支持等。避免只是羅列工具,而是提供實際選擇的維度。 國內外常用的免費BUG管理工具選擇非常豐富,從輕量級到功能全面型都有覆蓋。我將它們分為幾類,并詳細介紹…

JavaScript的事件循環機制

1.事件循環的理解JavaScript是單線程的,意味著它一次只能執行一個任務。而事件循環就是去協調在JavaScript環境中運行的同步任務、異步任務(微任務、宏任務)的執行順序的一種機制。它是 JavaScript 實現單線程非阻塞異步執行的核心。2.事件循環的執行順序同步任務—…

數據結構——棧(Java)

目錄 一定義. 入棧 出棧 二.棧與線性表的關系 三.棧的實現方式 四.鏈表實現棧 1.結點的API設計 2.棧的API設計 2.1棧的初始化設計 2.2元素入棧 2.3元素出棧 五.括號匹配問題 完整代碼展示 答案 一定義. 棧是一種基于先進后出(FILO)的數據…

科研筆記:數學建模啟發的課題研究方法

借鑒數學建模的思路解決科學問題或開展課題研究,核心是將實際問題抽象為數學框架,通過定量分析、邏輯推演和驗證優化,實現對問題的精準描述、解釋或預測。其本質是“從現實到數學,再從數學回歸現實”的迭代過程,適用于…

Agent落地到底選擇LangChain 還是 LangGraph

核心概念 LangChain:一個用于構建由大型語言模型驅動的應用程序的框架。它提供了大量的組件和現成的鏈,旨在簡化和標準化應用程序與LLM交互的過程。 LangGraph:一個用于在LangChain之上構建有狀態、多參與者的 工作流 的庫。它特別擅長處理具有循環、分支和復雜協調的代理(…

ChatGPT下的相關聊天提示詞

問:如果我覺得一個子對話里,聊天聊得太多,在這個項目下新開一個子對話,但是不想把上次太多的信息 都復制過來,有沒有什么辦法關鍵詞:項目、子對話,上下文ChatGPT:有辦法的 ?在 ChatGPT 里&…

最新PDF版本!Acrobat Pro DC 2025,解壓即用版

軟件介紹 Adobe Acrobat Pro DC 2025 是全球知名的 PDF 編輯神器,被稱為 “最牛 PDF 工具”,能輕松解決 PDF 編輯、創建、轉換等難題,本次分享的版本解壓即可使用。 軟件特點 然解壓即可使用不用登錄注冊最新版本 軟件使用 我們打開軟件選…

XX汽集團數字化轉型:全生命周期網絡安全、數據合規與AI工業物聯網融合實踐

引言:數字化轉型中的安全與效率雙輪驅動作為中國汽車行業的龍頭企業,XX汽集團近年來積極推進數字化轉型,通過構建全生命周期網絡安全體系、完善數據合規治理框架,并深度融合AI工業物聯網技術,實現了生產成本顯著降低和…

云原生部署_Docker入門

Docker是啥Docker是一個開源的容器化平臺,可以幫助開發者將應用程序和其依賴的環境打包成一個可移植、可部署的容器。Docker的主要目標是通過容器化技術,實現應用程序的快速部署、可移植性和可擴展性,從而簡化應用程序的開發、測試和部署過程…

【大數據專欄】大數據框架-Apache Druid Overview

目錄 Architecture Advantages and disadvantages 從架構以及設計可以得出結論,Durid不支持ACID事務,基于時間戳列和維度列去查詢,所以適合基于時間做分組和學列的查詢操作。 Advantages優勢: 實時數據攝取與查詢 支持秒級數據攝…

云平臺面試內容(一)

1. 云計算的優點、服務模型區別及云部署模式 云計算優點: 云計算具有顯著的優勢,包括無需自建機房和硬件投入,資源即開即用并支持彈性伸縮,按需付費使成本透明可控。企業可以在數分鐘內完成全球范圍的部署,縮短上線周期。同時云平臺提供高可用性和安全性,多副本容災保證數…

嵌入式 - 硬件:51單片機(2)

本節重點:1. GPIO輸入模式、輸出模式2. 按鍵工作原理(GPIO輸入)3. 中斷概念4. 中斷源概念、中斷源個數、哪幾個中斷源5. 外部中斷、定時器中斷概念6. 中斷處理流程:7. 51單片機中定時器的個數?類型8. 16位定時器和8位…

C語言中奇技淫巧07-使用GCC棧保護選項檢測程序棧溢出

-fstack-protector 是 GCC 和 Clang 編譯器提供的一種棧保護(Stack Smashing Protection, SSP) 機制,用于檢測和防御常見的緩沖區溢出攻擊(特別是棧溢出)。它通過在函數的棧幀中插入特殊的“金絲雀值”(can…

.NET 8.0 Web API JWT 身份驗證和基于角色的授權

在當今的數字環境中,保護 Web 應用程序的安全至關重要。隨著 .NET 8.0 的不斷發展,它提供了強大的工具來確保您的 API 既安全又高效。 示例代碼:https://download.csdn.net/download/hefeng_aspnet/91490262 如果您喜歡此文章&#xff0c…

ZYNQ SDK軟件在線調試

1、然后右鍵項目->debug as->launch on hardware2、從左到右分別是:運行程序到設置的斷點暫停運行終止斷開連接步進(進入函數內部)跳過(不進入函數內部)跳出函數3、雙擊添加斷點,然后點擊運行可以讓程…

四大金剛之計算機操作系統

1. 進程和線程的區別?創建線程的代價比創建進程小嗎?進程是資源分配和調度的基本單位;線程是 CPU 調度的基本單位。進程有獨立的地址空間,線程共享進程地址空間。創建/銷毀進程開銷大,線程開銷小。是的,因為…

redis--redis.conf的相關配置問題

關于redis.conf內的相關重要的配置介紹 1. bind 配置 僅僅設置bind,還需要搭配下面的rotected-mode 配置才能外部ip進行連接 功能:設置 Redis 監聽的 IP 地址,決定哪些設備可以連接到 Redis 服務器。 bind 127.0.0.1:只允許本機&a…

unsloth 筆記:從最近的檢查點繼續微調

檢查點(checkpointing)可以把微調進度保存下來,這樣可以中途暫停,隨后繼續訓練。首先需要在 Trainer 的參數里添加 save_strategy 和 save_steps。trainer SFTTrainer(....args TrainingArguments(....output_dir "output…

DevOps平臺選型指南:破解研發效率瓶頸,適配金融/政務/國產化場景的5大關鍵指標

在數字化轉型的浪潮中,軟件研發效能已成為企業的核心競爭力。然而,許多團隊在追求敏捷與高速交付的過程中,常常會遇到工具鏈割裂、流程冗長、環境混亂等效率瓶頸。選擇一個合適的、一體化的DevOps平臺,是破解這些瓶頸、實現研發運…

【面試向】元宇宙介紹

屬于基礎知識介紹,主要目的是對這一概念有技術層面的理解,有前瞻性的觀點,幫助大家在面試中給出得體的表述。 1. 什么是元宇宙? 元宇宙本質上是一個融合了數字與現實、由技術構建的 “沉浸式虛擬空間”,是一個 “超越…