답변 1개
채택된 답변
+20 포인트
1년 전
'include_router' 메서드의 'include_in_schema' 옵션을 True(기본값)로 설정하면 swagger UI에 출력됩니다.
'{플러그인 경로}/admin/__init__.py' 와 '{플러그인 경로}/user/__init__.py'에서 확인 하실 수 있으며,
각 개별 라우터에서도 동일한 옵션을 설정할 수 있습니다.
Copy
# plugin\demo_plugin\admin\__init__.py
def register_admin_router():
"""관리자에 플러그인 관리자 메뉴를 등록합니다.
Examples:
관리자는 Depends(check_admin_access) 의존성을 추가 해야 접근권한이 보호됩니다.
아래 관리자 라우터의 prefix 는 빈칸이면 안됩니다. 기본값은 /admin 입니다.
"""
app.include_router(admin_router, prefix="/admin", tags=[module_name], dependencies=[Depends(check_admin_access)], include_in_schema=False)
# plugin\demo_plugin\user\__init__.py
def register_user_router():
app.include_router(router,
prefix=router_prefix,
tags=[module_name],
include_in_schema=False,
dependencies=[Depends(check_use_template),
Depends(set_template_basic_data)])
# plugin\demo_plugin\admin\admin_router.py
@admin_router.get("/test_demo_admin",
include_in_schema=True) # 각 라우터에 개별적으로 설정 가능
async def show(request: Request):
request.session["menu_key"] = module_name
request.session["plugin_submenu_key"] = module_name + "1"
return {
"message": "Hello Admin Demo Plugin!",
"pacakge": __package__,
"__file__": __file__,
"__name__": __name__,
}
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인