亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

一文搞定FastAPI中的查詢參數(shù)

 更新時間:2024年03月27日 10:12:32   作者:shengjk1  
FastAPI中最核心的之一就是路徑參數(shù),所以這篇文章小編主要來和大家介紹一下FastAPI查詢參數(shù)的作用以及基本使用,有需要的小伙伴可以參考下

一、查詢參數(shù)定義

路徑操作函數(shù)中,不是路徑參數(shù)的其他參數(shù),就是查詢參數(shù)。比如:

from fastapi import FastAPI

app = FastAPI()

@app.get( "/items" )
def read_item(item_id:int,item_name:str):
    return { "item_id" : item_id,"item_name":item_name}
     
    
if __name__ == "__main__" :
    import uvicorn
    uvicorn.run( "quickstart.demo:app" ,reload=True ,port= 8001)

item_id,item_name 都不是路徑參數(shù),所以它就是查詢參數(shù)。

二、查詢參數(shù)作用

方便給 路徑操作函數(shù) 傳參

三、查詢參數(shù)基本使用

3.1. URL拼接和必需參數(shù)

查詢參數(shù),一般是在 URL 的 ? 后,并以 & 分割,比如:

from fastapi import FastAPI

app = FastAPI()

@app.get( "/items" )
def read_item(item_id:int,item_name:str):
    return { "item_id" : item_id,"item_name":item_name}
     
    
if __name__ == "__main__" :
    import uvicorn
    uvicorn.run( "quickstart.demo:app" ,reload=True ,port= 8001)

此時 item_iditem_name 都是必需的,URL必須傳這兩個參數(shù)。啟動程序,然后在瀏覽器中訪問 http://127.0.0.1:8001/items?item_id=1&item_name=xiaoming,響應(yīng)為:

{"item_id":1,"item_name":"xiaoming"}

3.2. 默認值

查詢參數(shù)可以設(shè)置默認值,如:item_name 默認值為 xiaoming

from fastapi import FastAPI

app = FastAPI()

@app.get( "/items" )
def read_item(item_id:int,item_name:str='xiaoming'):
    return { "item_id" : item_id,"item_name":item_name}
     
    
if __name__ == "__main__" :
    import uvicorn
    uvicorn.run( "quickstart.demo:app" ,reload=True ,port= 8001)

訪問 http://127.0.0.1:8001/items?item_id=1&item_name=xiaoming 和訪問 http://127.0.0.1:8001/items?item_id=1 他們的結(jié)果都是一樣的。因為URL 中不設(shè)置 item_name 的值,它會用默認值來填充。

3.3. 可選參數(shù)

查詢參數(shù)可以設(shè)置為可選參數(shù),如 item_name=None 可選參數(shù)的意思:URL中可以不包含這個參數(shù),屬于可有可無

from fastapi import FastAPI

app = FastAPI()

@app.get( "/items" )
def read_item(item_id:int,item_name:str=None):
    if item_name:
        return { "item_id" : item_id,"item_name":item_name}
    else:
        return { "item_id" : item_id}
     
    
if __name__ == "__main__" :
    import uvicorn
    uvicorn.run( "quickstart.demo:app" ,reload=True ,port= 8001)

訪問 http://127.0.0.1:8001/items?item_id=1&item_name=xiaoming 響應(yīng)為:

{"item_id":1,"item_name":"xiaoming"}

和訪問 http://127.0.0.1:8001/items?item_id=1 響應(yīng)為:

{"item_id":1}

3.4. Pydantic 模型( 請求體 )作為查詢參數(shù)

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Item(BaseModel):
    name: str
    price: float
    
@app.put( "/items/{item_id}" )
def  put_item(item_id:int,item:Item):
    return { "item_id" : item_id, "item" :item}

if __name__ == "__main__" :
    import uvicorn
    uvicorn.run( "quickstart.demo:app" , reload=True, port=8001)

Client端:

import requests

data={ "name" : "flow" , "price" :2.3}

respone=requests.put( "http://127.0.0.1:8001/items/1" ,json=data)
print(respone.json())

respone的結(jié)果:

{'item_id': 1, 'item': {'name': 'flow', 'price': 2.3}}

三、總結(jié)

本文詳細介紹了查詢參數(shù)在FastAPI中的基本使用方法,包括URL拼接和必需參數(shù)、默認值、可選參數(shù)和Pydantic模型作為查詢參數(shù)的使用。通過這些方法,可以靈活地處理和傳遞查詢參數(shù),實現(xiàn)更豐富的功能需求。

到此這篇關(guān)于一文搞定FastAPI中的查詢參數(shù)的文章就介紹到這了,更多相關(guān)FastAPI查詢參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django+Ajax異步刷新/定時自動刷新實例詳解

    Django+Ajax異步刷新/定時自動刷新實例詳解

    AJAX是前端技術(shù)的集合,包括JavaScript、XML、HTML、CSS等,下面這篇文章主要給大家介紹了關(guān)于Django+Ajax異步刷新/定時自動刷新的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • tf.truncated_normal與tf.random_normal的詳細用法

    tf.truncated_normal與tf.random_normal的詳細用法

    本篇文章主要介紹了tf.truncated_normal與tf.random_normal的詳細用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • 一篇文章帶你了解python正則表達式的正確用法

    一篇文章帶你了解python正則表達式的正確用法

    這篇文章主要介紹了Python中正則表達式的詳細教程,正則表達式是Python學(xué)習(xí)進階當(dāng)中的重要內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 利用python檢查磁盤空間使用情況的代碼實現(xiàn)

    利用python檢查磁盤空間使用情況的代碼實現(xiàn)

    本文將向讀者展示如何利用Python編寫自動化腳本,以檢查磁盤空間使用情況,無論你是經(jīng)驗豐富的系統(tǒng)管理員,還是對Python自動化充滿興趣的開發(fā)者,本文都將為你提供實用的腳本示例和詳細的解析步驟,幫助你快速掌握磁盤空間監(jiān)控的自動化方法,需要的朋友可以參考下
    2024-08-08
  • 導(dǎo)入tensorflow時報錯:cannot import name ''abs''的解決

    導(dǎo)入tensorflow時報錯:cannot import name ''abs''的解決

    這篇文章主要介紹了導(dǎo)入tensorflow時報錯:cannot import name 'abs'的解決,文中介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • pygame實現(xiàn)井字棋之第二步邏輯實現(xiàn)

    pygame實現(xiàn)井字棋之第二步邏輯實現(xiàn)

    這篇文章主要介紹了pygame實現(xiàn)井字棋之第二步邏輯實現(xiàn),文中有非常詳細的代碼示例,對正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • Python讀取xlsx文件的實現(xiàn)方法

    Python讀取xlsx文件的實現(xiàn)方法

    這篇文章主要介紹了Python讀取xlsx文件的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python生成ubuntu apt鏡像地址實現(xiàn)

    Python生成ubuntu apt鏡像地址實現(xiàn)

    本文主要介紹了Python生成ubuntu apt鏡像地址實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Python判斷變量是否是None寫法代碼實例

    Python判斷變量是否是None寫法代碼實例

    這篇文章主要介紹了Python判斷變量是否是None寫法代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • 聊聊python中的load、loads實現(xiàn)反序列化的問題

    聊聊python中的load、loads實現(xiàn)反序列化的問題

    在python自動化中,我們傳遞一些參數(shù)是需要從文件中讀取過來的,讀取過來的字典并非python對象數(shù)據(jù)類型而是string類型。本文給大家分享python中的load、loads實現(xiàn)反序列化的問題,感興趣的朋友一起看看吧
    2021-10-10

最新評論