#importit #fastapi #pydanticin BaseModel vastaanotettavan datan muotoiluun #typingista Lista BaseModelien tietotyypeistä vastaavaan taulukkoon #NIMEÄ TIEDOSTO main.py, ajetaan komennolla uvicorn main:app tai python -m uvicorn main:app from fastapi import * from pydantic import BaseModel from typing import List #Alustetaan FastAPI-serveri app = FastAPI() #Luodaan testiksi yksi sanakirja sanakirja = {"kahen": "kilon"} #FastAPI:n get-rajapinnan luonti @app.get("/testi") async def helloworld(): return "Hello World" #Voidaan myös palauttaa dictejä pyytävälle @app.get("/testi2") async def palautasanakirja(): return sanakirja #Luodaan Basemodel Kala jonka avain on "kala" ja arvona jokin merkkijono class Kala(BaseModel): kala: str #Luodaan POST-rajapinta joka tulostaa asiakkaan lähettämän kala(-jsonin) ja palauttaa "OK!" @app.post("/testi3/") async def kala(kala: Kala): print(kala) return "OK!" #POST-rajapinta joka olettaa saavansa listan kaloja. Tulostetaan kaikki listan kalat sanakirjaksi muutettuna #Lopuksi palautetaan "OK!" asiakkaalle @app.post("/testi4/") async def kalat(kalat: List[Kala]): for kala in kalat: print(kala.dict()) return "OK!"