vet app
This commit is contained in:
35
openapi_first/templates/vet_app/main.py
Normal file
35
openapi_first/templates/vet_app/main.py
Normal file
@@ -0,0 +1,35 @@
|
||||
"""
|
||||
Application entry point for an OpenAPI-first Veterinary Clinic service.
|
||||
|
||||
This module constructs a FastAPI application exclusively from an
|
||||
OpenAPI specification and a handler namespace, without using
|
||||
decorator-driven routing.
|
||||
|
||||
All HTTP routes, methods, request/response schemas, and operation
|
||||
bindings are defined in the OpenAPI document referenced by
|
||||
``openapi_path``. Python callables defined in the ``routes`` module are
|
||||
bound to OpenAPI operations strictly via ``operationId``.
|
||||
|
||||
This module contains no routing logic, persistence concerns, or
|
||||
framework configuration beyond application assembly.
|
||||
|
||||
Design guarantees:
|
||||
- OpenAPI is the single source of truth
|
||||
- No undocumented routes can exist
|
||||
- Every OpenAPI operationId must resolve to exactly one handler
|
||||
- All contract violations fail at application startup
|
||||
|
||||
This file is intended to be used as the ASGI entry point.
|
||||
|
||||
Example:
|
||||
uvicorn main:app
|
||||
"""
|
||||
|
||||
from openapi_first.app import OpenAPIFirstApp
|
||||
import routes
|
||||
|
||||
app = OpenAPIFirstApp(
|
||||
openapi_path="openapi.yaml",
|
||||
routes_module=routes,
|
||||
title="Veterinary Clinic Service",
|
||||
)
|
||||
Reference in New Issue
Block a user