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