Skip to content

Commit 6e520ce

Browse files
committed
update annotations and examples
1 parent 8481570 commit 6e520ce

4 files changed

Lines changed: 21 additions & 22 deletions

File tree

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ Base = declarative_base()
5656
class User(Base):
5757
__tablename__ = "users"
5858
id = Column(Integer, primary_key=True, autoincrement=True)
59-
name: str = Column(Text, nullable=True)
59+
name = Column(Text, nullable=True)
6060

6161

6262
class UserAttributesBaseSchema(BaseModel):
@@ -145,9 +145,9 @@ def add_routes(app: FastAPI):
145145
},
146146
]
147147

148-
routers: APIRouter = APIRouter()
148+
router: APIRouter = APIRouter()
149149
RoutersJSONAPI(
150-
router=routers,
150+
router=router,
151151
path="/user",
152152
tags=["User"],
153153
class_detail=UserDetailView,
@@ -159,7 +159,7 @@ def add_routes(app: FastAPI):
159159
model=User,
160160
)
161161

162-
app.include_router(routers, prefix="")
162+
app.include_router(router, prefix="")
163163
return tags
164164

165165

docs/python_snippets/client_generated_id/schematic_example.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33

44
import uvicorn
55
from fastapi import APIRouter, Depends, FastAPI
6-
from pydantic import Field, BaseModel as PydanticBaseModel
6+
from fastapi_jsonapi.schema_base import Field, BaseModel as PydanticBaseModel
77
from sqlalchemy import Column, Integer, Text
88
from sqlalchemy.engine import make_url
99
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
1010
from sqlalchemy.ext.declarative import declarative_base
1111
from sqlalchemy.orm import sessionmaker
1212

13-
from fastapi_jsonapi import RoutersJSONAPI
13+
from fastapi_jsonapi import RoutersJSONAPI, init
1414
from fastapi_jsonapi.misc.sqla.generics.base import DetailViewBaseGeneric, ListViewBaseGeneric
1515
from fastapi_jsonapi.views.utils import HTTPMethod, HTTPMethodConfig
1616
from fastapi_jsonapi.views.view_base import ViewBase
@@ -27,7 +27,7 @@
2727
class User(Base):
2828
__tablename__ = "users"
2929
id = Column(Integer, primary_key=True, autoincrement=False)
30-
name: str = Column(Text, nullable=True)
30+
name = Column(Text, nullable=True)
3131

3232

3333
class BaseModel(PydanticBaseModel):
@@ -77,7 +77,7 @@ class Config:
7777
arbitrary_types_allowed = True
7878

7979

80-
def session_dependency_handler(view: ViewBase, dto: BaseModel) -> dict:
80+
def session_dependency_handler(view: ViewBase, dto: SessionDependency) -> dict:
8181
return {"session": dto.session}
8282

8383

@@ -107,9 +107,9 @@ def add_routes(app: FastAPI):
107107
},
108108
]
109109

110-
routers: APIRouter = APIRouter()
110+
router: APIRouter = APIRouter()
111111
RoutersJSONAPI(
112-
router=routers,
112+
router=router,
113113
path="/user",
114114
tags=["User"],
115115
class_detail=UserDetailView,
@@ -121,7 +121,7 @@ def add_routes(app: FastAPI):
121121
model=User,
122122
)
123123

124-
app.include_router(routers, prefix="")
124+
app.include_router(router, prefix="")
125125
return tags
126126

127127

@@ -139,6 +139,7 @@ def create_app() -> FastAPI:
139139
)
140140
add_routes(app)
141141
app.on_event("startup")(sqlalchemy_init)
142+
init(app)
142143
return app
143144

144145

examples/api_minimal.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,22 @@
2020
CURRENT_DIR = CURRENT_FILE.parent
2121
PROJECT_DIR = CURRENT_DIR.parent.parent
2222
DB_URL = f"sqlite+aiosqlite:///{CURRENT_DIR}/db.sqlite3"
23+
# DB_URL = f"sqlite+:///{CURRENT_DIR}/db.sqlite3"
2324
sys.path.append(str(PROJECT_DIR))
2425

2526
Base = declarative_base()
2627

2728

2829
class User(Base):
2930
__tablename__ = "users"
30-
id = Column(Integer, primary_key=True, autoincrement=True)
31-
name: str = Column(Text, nullable=True)
31+
id = Column(Integer, primary_key=True)
32+
name = Column(Text, nullable=True)
3233

3334

3435
class UserAttributesBaseSchema(BaseModel):
3536
name: str
3637

3738
class Config:
38-
"""Pydantic schema config."""
39-
4039
orm_mode = True
4140

4241

@@ -117,21 +116,19 @@ def add_routes(app: FastAPI):
117116
},
118117
]
119118

120-
routers: APIRouter = APIRouter()
119+
router: APIRouter = APIRouter()
121120
RoutersJSONAPI(
122-
router=routers,
121+
router=router,
123122
path="/user",
124123
tags=["User"],
125124
class_detail=UserDetailView,
126125
class_list=UserListView,
127126
schema=UserSchema,
128-
resource_type="user",
129-
schema_in_patch=UserPatchSchema,
130-
schema_in_post=UserInSchema,
131127
model=User,
128+
resource_type="user",
132129
)
133130

134-
app.include_router(routers, prefix="")
131+
app.include_router(router, prefix="")
135132
return tags
136133

137134

fastapi_jsonapi/exceptions/json_api.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from typing import (
55
List,
66
Optional,
7+
Union,
78
)
89

910
from fastapi import HTTPException as FastApiHttpException
@@ -19,7 +20,7 @@ class HTTPException(FastApiHttpException):
1920

2021
def __init__(
2122
self,
22-
detail: str = "",
23+
detail: Union[str, dict] = "",
2324
pointer: str = "",
2425
parameter: str = "",
2526
title: Optional[str] = None,

0 commit comments

Comments
 (0)