Add a command line tool to generate OAS in a file
This commit is contained in:
@@ -1,25 +1,5 @@
|
||||
from aiohttp import web
|
||||
from aiohttp.web import middleware
|
||||
|
||||
from aiohttp_pydantic import oas
|
||||
|
||||
from .model import Model
|
||||
from .view import PetCollectionView, PetItemView
|
||||
|
||||
|
||||
@middleware
|
||||
async def pet_not_found_to_404(request, handler):
|
||||
try:
|
||||
return await handler(request)
|
||||
except Model.NotFound as key:
|
||||
return web.json_response({"error": f"Pet {key} does not exist"}, status=404)
|
||||
|
||||
|
||||
app = web.Application(middlewares=[pet_not_found_to_404])
|
||||
oas.setup(app)
|
||||
|
||||
app["model"] = Model()
|
||||
app.router.add_view("/pets", PetCollectionView)
|
||||
app.router.add_view("/pets/{id}", PetItemView)
|
||||
from .main import app
|
||||
|
||||
web.run_app(app)
|
||||
|
||||
22
demo/main.py
Normal file
22
demo/main.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from aiohttp.web import Application, json_response, middleware
|
||||
|
||||
from aiohttp_pydantic import oas
|
||||
|
||||
from .model import Model
|
||||
from .view import PetCollectionView, PetItemView
|
||||
|
||||
|
||||
@middleware
|
||||
async def pet_not_found_to_404(request, handler):
|
||||
try:
|
||||
return await handler(request)
|
||||
except Model.NotFound as key:
|
||||
return json_response({"error": f"Pet {key} does not exist"}, status=404)
|
||||
|
||||
|
||||
app = Application(middlewares=[pet_not_found_to_404])
|
||||
oas.setup(app)
|
||||
|
||||
app["model"] = Model()
|
||||
app.router.add_view("/pets", PetCollectionView)
|
||||
app.router.add_view("/pets/{id}", PetItemView)
|
||||
Reference in New Issue
Block a user