mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-06-30 12:40:52 +00:00
Fix issue with fastapi generator converting all fields to snake_case (#12261)
* Fix issue with python-fastapi generator converting all fields to snake_case * Update Python-FastAPI sample Co-authored-by: Rory Dungan <contact@rorydungan.com>
This commit is contained in:
parent
d242a98343
commit
fd5ad7f895
@ -41,6 +41,7 @@ router = APIRouter()
|
||||
{{#description}}
|
||||
description = "{{.}}",
|
||||
{{/description}}
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def {{operationId}}(
|
||||
{{#allParams}}
|
||||
|
@ -6,7 +6,7 @@ from datetime import date, datetime # noqa: F401
|
||||
import re # noqa: F401
|
||||
from typing import Any, Dict, List, Optional # noqa: F401
|
||||
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, validator # noqa: F401
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401
|
||||
{{#models}}
|
||||
{{#model}}
|
||||
{{#pyImports}}
|
||||
@ -31,7 +31,7 @@ class {{classname}}(BaseModel):
|
||||
"""
|
||||
|
||||
{{#vars}}
|
||||
{{name}}: {{#required}}{{>model_field_type}}{{/required}}{{^required}}Optional[{{>model_field_type}}] = None{{/required}}
|
||||
{{name}}: {{#required}}{{>model_field_type}}{{/required}}{{^required}}Optional[{{>model_field_type}}]{{/required}} = Field(alias="{{baseName}}"{{^required}}, default=None{{/required}})
|
||||
{{/vars}}
|
||||
{{#vars}}
|
||||
{{#maximum}}
|
||||
|
@ -32,6 +32,7 @@ router = APIRouter()
|
||||
},
|
||||
tags=["pet"],
|
||||
summary="Add a new pet to the store",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def add_pet(
|
||||
pet: Pet = Body(None, description="Pet object that needs to be added to the store"),
|
||||
@ -50,6 +51,7 @@ async def add_pet(
|
||||
},
|
||||
tags=["pet"],
|
||||
summary="Deletes a pet",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def delete_pet(
|
||||
petId: int = Path(None, description="Pet id to delete"),
|
||||
@ -70,6 +72,7 @@ async def delete_pet(
|
||||
},
|
||||
tags=["pet"],
|
||||
summary="Finds Pets by status",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def find_pets_by_status(
|
||||
status: List[str] = Query(None, description="Status values that need to be considered for filter"),
|
||||
@ -89,6 +92,7 @@ async def find_pets_by_status(
|
||||
},
|
||||
tags=["pet"],
|
||||
summary="Finds Pets by tags",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def find_pets_by_tags(
|
||||
tags: List[str] = Query(None, description="Tags to filter by"),
|
||||
@ -109,6 +113,7 @@ async def find_pets_by_tags(
|
||||
},
|
||||
tags=["pet"],
|
||||
summary="Find pet by ID",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def get_pet_by_id(
|
||||
petId: int = Path(None, description="ID of pet to return"),
|
||||
@ -130,6 +135,7 @@ async def get_pet_by_id(
|
||||
},
|
||||
tags=["pet"],
|
||||
summary="Update an existing pet",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def update_pet(
|
||||
pet: Pet = Body(None, description="Pet object that needs to be added to the store"),
|
||||
@ -148,6 +154,7 @@ async def update_pet(
|
||||
},
|
||||
tags=["pet"],
|
||||
summary="Updates a pet in the store with form data",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def update_pet_with_form(
|
||||
petId: int = Path(None, description="ID of pet that needs to be updated"),
|
||||
@ -168,6 +175,7 @@ async def update_pet_with_form(
|
||||
},
|
||||
tags=["pet"],
|
||||
summary="uploads an image",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def upload_file(
|
||||
petId: int = Path(None, description="ID of pet to update"),
|
||||
|
@ -31,6 +31,7 @@ router = APIRouter()
|
||||
},
|
||||
tags=["store"],
|
||||
summary="Delete purchase order by ID",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def delete_order(
|
||||
orderId: str = Path(None, description="ID of the order that needs to be deleted"),
|
||||
@ -46,6 +47,7 @@ async def delete_order(
|
||||
},
|
||||
tags=["store"],
|
||||
summary="Returns pet inventories by status",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def get_inventory(
|
||||
token_api_key: TokenModel = Security(
|
||||
@ -65,6 +67,7 @@ async def get_inventory(
|
||||
},
|
||||
tags=["store"],
|
||||
summary="Find purchase order by ID",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def get_order_by_id(
|
||||
orderId: int = Path(None, description="ID of pet that needs to be fetched", ge=1, le=5),
|
||||
@ -81,6 +84,7 @@ async def get_order_by_id(
|
||||
},
|
||||
tags=["store"],
|
||||
summary="Place an order for a pet",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def place_order(
|
||||
order: Order = Body(None, description="order placed for purchasing the pet"),
|
||||
|
@ -30,6 +30,7 @@ router = APIRouter()
|
||||
},
|
||||
tags=["user"],
|
||||
summary="Create user",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def create_user(
|
||||
user: User = Body(None, description="Created user object"),
|
||||
@ -48,6 +49,7 @@ async def create_user(
|
||||
},
|
||||
tags=["user"],
|
||||
summary="Creates list of users with given input array",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def create_users_with_array_input(
|
||||
user: List[User] = Body(None, description="List of user object"),
|
||||
@ -66,6 +68,7 @@ async def create_users_with_array_input(
|
||||
},
|
||||
tags=["user"],
|
||||
summary="Creates list of users with given input array",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def create_users_with_list_input(
|
||||
user: List[User] = Body(None, description="List of user object"),
|
||||
@ -85,6 +88,7 @@ async def create_users_with_list_input(
|
||||
},
|
||||
tags=["user"],
|
||||
summary="Delete user",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def delete_user(
|
||||
username: str = Path(None, description="The name that needs to be deleted"),
|
||||
@ -105,6 +109,7 @@ async def delete_user(
|
||||
},
|
||||
tags=["user"],
|
||||
summary="Get user by user name",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def get_user_by_name(
|
||||
username: str = Path(None, description="The name that needs to be fetched. Use user1 for testing."),
|
||||
@ -121,6 +126,7 @@ async def get_user_by_name(
|
||||
},
|
||||
tags=["user"],
|
||||
summary="Logs user into the system",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def login_user(
|
||||
username: str = Query(None, description="The user name for login", regex=r"^[a-zA-Z0-9]+[a-zA-Z0-9\.\-_]*[a-zA-Z0-9]+$"),
|
||||
@ -137,6 +143,7 @@ async def login_user(
|
||||
},
|
||||
tags=["user"],
|
||||
summary="Logs out current logged in user session",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def logout_user(
|
||||
token_api_key: TokenModel = Security(
|
||||
@ -155,6 +162,7 @@ async def logout_user(
|
||||
},
|
||||
tags=["user"],
|
||||
summary="Updated user",
|
||||
response_model_by_alias=True,
|
||||
)
|
||||
async def update_user(
|
||||
username: str = Path(None, description="name that need to be deleted"),
|
||||
|
@ -6,7 +6,7 @@ from datetime import date, datetime # noqa: F401
|
||||
import re # noqa: F401
|
||||
from typing import Any, Dict, List, Optional # noqa: F401
|
||||
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, validator # noqa: F401
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401
|
||||
|
||||
|
||||
class ApiResponse(BaseModel):
|
||||
@ -21,8 +21,8 @@ class ApiResponse(BaseModel):
|
||||
message: The message of this ApiResponse [Optional].
|
||||
"""
|
||||
|
||||
code: Optional[int] = None
|
||||
type: Optional[str] = None
|
||||
message: Optional[str] = None
|
||||
code: Optional[int] = Field(alias="code", default=None)
|
||||
type: Optional[str] = Field(alias="type", default=None)
|
||||
message: Optional[str] = Field(alias="message", default=None)
|
||||
|
||||
ApiResponse.update_forward_refs()
|
||||
|
@ -6,7 +6,7 @@ from datetime import date, datetime # noqa: F401
|
||||
import re # noqa: F401
|
||||
from typing import Any, Dict, List, Optional # noqa: F401
|
||||
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, validator # noqa: F401
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401
|
||||
|
||||
|
||||
class Category(BaseModel):
|
||||
@ -20,8 +20,8 @@ class Category(BaseModel):
|
||||
name: The name of this Category [Optional].
|
||||
"""
|
||||
|
||||
id: Optional[int] = None
|
||||
name: Optional[str] = None
|
||||
id: Optional[int] = Field(alias="id", default=None)
|
||||
name: Optional[str] = Field(alias="name", default=None)
|
||||
|
||||
@validator("name")
|
||||
def name_pattern(cls, value):
|
||||
|
@ -6,7 +6,7 @@ from datetime import date, datetime # noqa: F401
|
||||
import re # noqa: F401
|
||||
from typing import Any, Dict, List, Optional # noqa: F401
|
||||
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, validator # noqa: F401
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401
|
||||
|
||||
|
||||
class Order(BaseModel):
|
||||
@ -24,11 +24,11 @@ class Order(BaseModel):
|
||||
complete: The complete of this Order [Optional].
|
||||
"""
|
||||
|
||||
id: Optional[int] = None
|
||||
pet_id: Optional[int] = None
|
||||
quantity: Optional[int] = None
|
||||
ship_date: Optional[datetime] = None
|
||||
status: Optional[str] = None
|
||||
complete: Optional[bool] = None
|
||||
id: Optional[int] = Field(alias="id", default=None)
|
||||
pet_id: Optional[int] = Field(alias="petId", default=None)
|
||||
quantity: Optional[int] = Field(alias="quantity", default=None)
|
||||
ship_date: Optional[datetime] = Field(alias="shipDate", default=None)
|
||||
status: Optional[str] = Field(alias="status", default=None)
|
||||
complete: Optional[bool] = Field(alias="complete", default=None)
|
||||
|
||||
Order.update_forward_refs()
|
||||
|
@ -6,7 +6,7 @@ from datetime import date, datetime # noqa: F401
|
||||
import re # noqa: F401
|
||||
from typing import Any, Dict, List, Optional # noqa: F401
|
||||
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, validator # noqa: F401
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401
|
||||
from openapi_server.models.category import Category
|
||||
from openapi_server.models.tag import Tag
|
||||
|
||||
@ -26,11 +26,11 @@ class Pet(BaseModel):
|
||||
status: The status of this Pet [Optional].
|
||||
"""
|
||||
|
||||
id: Optional[int] = None
|
||||
category: Optional[Category] = None
|
||||
name: str
|
||||
photo_urls: List[str]
|
||||
tags: Optional[List[Tag]] = None
|
||||
status: Optional[str] = None
|
||||
id: Optional[int] = Field(alias="id", default=None)
|
||||
category: Optional[Category] = Field(alias="category", default=None)
|
||||
name: str = Field(alias="name")
|
||||
photo_urls: List[str] = Field(alias="photoUrls")
|
||||
tags: Optional[List[Tag]] = Field(alias="tags", default=None)
|
||||
status: Optional[str] = Field(alias="status", default=None)
|
||||
|
||||
Pet.update_forward_refs()
|
||||
|
@ -6,7 +6,7 @@ from datetime import date, datetime # noqa: F401
|
||||
import re # noqa: F401
|
||||
from typing import Any, Dict, List, Optional # noqa: F401
|
||||
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, validator # noqa: F401
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401
|
||||
|
||||
|
||||
class Tag(BaseModel):
|
||||
@ -20,7 +20,7 @@ class Tag(BaseModel):
|
||||
name: The name of this Tag [Optional].
|
||||
"""
|
||||
|
||||
id: Optional[int] = None
|
||||
name: Optional[str] = None
|
||||
id: Optional[int] = Field(alias="id", default=None)
|
||||
name: Optional[str] = Field(alias="name", default=None)
|
||||
|
||||
Tag.update_forward_refs()
|
||||
|
@ -6,7 +6,7 @@ from datetime import date, datetime # noqa: F401
|
||||
import re # noqa: F401
|
||||
from typing import Any, Dict, List, Optional # noqa: F401
|
||||
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, validator # noqa: F401
|
||||
from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401
|
||||
|
||||
|
||||
class User(BaseModel):
|
||||
@ -26,13 +26,13 @@ class User(BaseModel):
|
||||
user_status: The user_status of this User [Optional].
|
||||
"""
|
||||
|
||||
id: Optional[int] = None
|
||||
username: Optional[str] = None
|
||||
first_name: Optional[str] = None
|
||||
last_name: Optional[str] = None
|
||||
email: Optional[str] = None
|
||||
password: Optional[str] = None
|
||||
phone: Optional[str] = None
|
||||
user_status: Optional[int] = None
|
||||
id: Optional[int] = Field(alias="id", default=None)
|
||||
username: Optional[str] = Field(alias="username", default=None)
|
||||
first_name: Optional[str] = Field(alias="firstName", default=None)
|
||||
last_name: Optional[str] = Field(alias="lastName", default=None)
|
||||
email: Optional[str] = Field(alias="email", default=None)
|
||||
password: Optional[str] = Field(alias="password", default=None)
|
||||
phone: Optional[str] = Field(alias="phone", default=None)
|
||||
user_status: Optional[int] = Field(alias="userStatus", default=None)
|
||||
|
||||
User.update_forward_refs()
|
||||
|
Loading…
x
Reference in New Issue
Block a user