crypto_api/app.py

42 lines
756 B
Python

from fastapi import FastAPI
from pydantic import BaseModel
from typing import List, Optional
app = FastAPI()
# Модель данных
class Item(BaseModel):
id: int
name: str
# Пример данных
data = [
Item(id=1, name='Item 1'),
Item(id=2, name='Item 2')
]
@app.get('/items', response_model=List[Item])
def get_items():
return data
@app.get('/items/{item_id}', response_model=Optional[Item])
def get_item(item_id: int):
item = next((item for item in data if item.id == item_id), None)
return item
@app.post('/items', response_model=Item)
def create_item(item: Item):
data.append(item)
return item
if __name__ == '__main__':
import uvicorn
uvicorn.run(app, host='127.0.0.1', port=8000)