def setup_app(): get_schema = OpenAPIHandler( metadata=Metadata( title="Pet Store", description=__doc__, version="0.0.0", ), security_schemes=[HTTPSecurityScheme("Bearer", "bearer")], default_security_scheme="Bearer", ) get_schema = annotate(no_auth=True)(get_schema) get_docs = annotate(no_auth=True)(OpenAPIUIHandler()) return App( components=[ DatabaseComponent(), categories.CategoryManagerComponent(), tags.TagManagerComponent(), pets.PetManagerComponent(), ], middleware=[ ResponseRendererMiddleware(), auth_middleware, ], routes=[ Include("/v1/categories", categories.routes), Include("/v1/pets", pets.routes), Include("/v1/tags", tags.routes), Route("/_docs", get_docs), Route("/_schema", get_schema), ], )
ResponseRendererMiddleware([ JSONRenderer(), ]), AuthorizationMiddleware, ] get_docs = OpenAPIUIHandler() get_schema = OpenAPIHandler( metadata=Metadata( title="Todo API", description="An API for managing todos.", version="0.0.0", ), security_schemes=[ HTTPSecurityScheme("default", "bearer"), ], default_security_scheme="default", ) routes: List[Union[Route, Include]] = [ Include("/v1/todos", [ Route("/", list_todos), Route("/", create_todo, method="POST"), Route("/{todo_id}", get_todo), Route("/{todo_id}", delete_todo, method="DELETE"), ]), Route("/_docs", get_docs), Route("/_schema", get_schema), ]
@annotate( openapi_tags=["users"], ) def update_settings(settings: Settings) -> Settings: return settings get_schema = OpenAPIHandler( metadata=Metadata( title="Pet Store", description="An example application that generates OpenAPI schema.", version="0.1.0", ), security_schemes=[ HTTPSecurityScheme("Bearer Authorization", "bearer") ], default_security_scheme="Bearer Authorization", ) app = App( routes=[ Include("/v0/pets", [ Route("", add_pet_deprecated, method="POST"), ]), Include("/v1/pets", [ Route("", list_pets), Route("", add_pet, method="POST"), Include("/{pet_id}", [ Route("", update_pet, method="PUT"), Route("", delete_pet, method="DELETE"),
return HTTP_201, Photo(1, "http://example.com/example.png") @annotate( openapi_tags=["users"], ) def update_settings(settings: Settings) -> Settings: return settings get_schema = OpenAPIHandler( metadata=Metadata( title="Pet Store", description="An example application that generates OpenAPI schema.", version="0.1.0", ), security_schemes=[HTTPSecurityScheme("Bearer Authorization", "bearer")], default_security_scheme="Bearer Authorization", ) app = App(routes=[ Include("/v0/pets", [ Route("", add_pet_deprecated, method="POST"), ]), Include("/v1/pets", [ Route("", list_pets), Route("", add_pet, method="POST"), Include("/{pet_id}", [ Route("", update_pet, method="PUT"), Route("", delete_pet, method="DELETE"), Route("/photos", add_photo, method="POST"), ]),