Skip to content

Dv-nn/Fast-API-Cheat-Sheet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 

Repository files navigation

Fast API Cheat Sheet


FastAPI — это современный, быстрый (высокопроизводительный) веб-фреймворк для создания API, в основе которого лежит стандартная аннотация типов Python.

pip install fastapi[all] #установить FastAPI
pip install "uvicorn[standard]" #установить uvicorn для работы в качестве сервера

Самый простой FastAPI файл

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def root():
return {"message": "Hello World"}

uvicorn main:app --reload #запустить сервер


Обработка различных переменных в пути
В fastapi мы можем обрабатывать как статичные пути, так и пути с переменными, причем при обработке запросов - этим переменным в пути мы можем сразу объявлять тип данных.

@api.get('/user/{nick}') # переменные в пути заключаются в фигурные скобки
def get_nick(nick): # в функцию передаем эту переменную и работаем с ней дальше
return {"user":nick} # при запросе страницы вернет строку, которую мы вписали после последнего слеша

@api.get('/userid/{id:int}') # мы можем задавать тип данных прямо в пути через двоеточие
def get_id(id):
return {"user":id}

Чтобы начать принимать и обрабатывать различные параметры, в функцию обработки запроса FastAPI мы должны добавить аргументы

@api.get("/users/")
def get_users(skip: int = 0, limit: int = 10):
return fake_database['users'][skip: skip + limit]

POST, PUT, DELETE и другие запросы

@api.get('/') # метод для обработки get запросов
@api.post('/') # метод для обработки post запросов
@api.put('/') # метод для обработки put запросов
@api.delete('/') # метод для обработки delete запросов
def index(request: Request): # тут request - будет объектом в котором хранится вся информация о запросе
return {"Request" : [request.method, # тут наш API вернет клиенту метод, с которым этот запрос был совершен
request.headers]} # а тут в ответ вернутся все хедеры клиентского запроса


Документация

About

Fast API Cheat Sheet

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published