그누보드6 플러그인 api swagger

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
그누보드6 플러그인 api swagger

QA

그누보드6 플러그인 api swagger

본문

플러그인의 유저 라우터에 등록한 api는 swagger에 나오지 않는데 혹시 나오게 하는방법 있을까요?

 

이 질문에 댓글 쓰기 :

답변 1

'include_router' 메서드의 'include_in_schema' 옵션을 True(기본값)로 설정하면 swagger UI에 출력됩니다.

 

'{플러그인 경로}/admin/__init__.py' 와 '{플러그인 경로}/user/__init__.py'에서 확인 하실 수 있으며,

각 개별 라우터에서도 동일한 옵션을 설정할 수 있습니다.

 


# 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__,
    }
답변을 작성하시기 전에 로그인 해주세요.
전체 4
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT