欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2024年03月27日 10:12:32   作者:shengjk1  
FastAPI中最核心的之一就是路徑參數(shù),所以這篇文章小編主要來(lái)和大家介紹一下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)

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

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

3.2. 默認(rèn)值

查詢參數(shù)可以設(shè)置默認(rèn)值,如:item_name 默認(rèn)值為 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)

訪問(wèn) http://127.0.0.1:8001/items?item_id=1&item_name=xiaoming 和訪問(wèn) http://127.0.0.1:8001/items?item_id=1 他們的結(jié)果都是一樣的。因?yàn)閁RL 中不設(shè)置 item_name 的值,它會(huì)用默認(rèn)值來(lái)填充。

3.3. 可選參數(shù)

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

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)

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

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

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

{"item_id":1}

3.4. Pydantic 模型( 請(qǐng)求體 )作為查詢參數(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é)

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

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

相關(guān)文章

  • Django+Ajax異步刷新/定時(shí)自動(dòng)刷新實(shí)例詳解

    Django+Ajax異步刷新/定時(shí)自動(dòng)刷新實(shí)例詳解

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

    tf.truncated_normal與tf.random_normal的詳細(xì)用法

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

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

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

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

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

    導(dǎo)入tensorflow時(shí)報(bào)錯(cuò):cannot import name ''abs''的解決

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

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

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

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

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

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

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

    Python判斷變量是否是None寫法代碼實(shí)例

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

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

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

最新評(píng)論