【AWS】【API Gateway】Swagger로 REST API를 일원 관리

AWS API Gateway의 API를 Swagger 파일에서 생성하고 업데이트합니다.

전제



  • AWS CLI1.9.1 이상
  • Maven

  • 준비



    AWS Labs에서 제공하는 다음 도구를 사용합니다.
  • awslabs/aws-apigateway-importer
  • 리포지토리의 clone
  • git clone https://github.com/awslabs/aws-apigateway-importer.git
    cd aws-apigateway-importer
    
  • 빌드
  • mvn assembly:assembly
    

    사용법



    API 새로 만들기



    Swagger 스키마 파일에서 API Gateway에서 API를 새로 만듭니다.

  • 실행
    ./aws-api-import.sh --create [Swaggerのスキーマファイル]
    

    ※ Windows의 경우는 ./aws-api-import.cmd를 사용합니다.

  • 실행 결과

    자원



    모델



  • API 업데이트



    Swagger 스키마 파일을 기반으로 API Gateway의 API를 업데이트합니다.

  • API ID 얻기
    aws apigateway get-rest-apis
    

    업데이트하려는 API의 id 값을 가져옵니다.

    예:
    {
        "items": [
         {
             "description": "Move your app forward with the Uber API",
             "createdDate": xxxxxxxxxx,
             "id": "xxxxxxxxxx",
             "name": "Uber API"
         },
         {
             "description": "Flashcard API",
             "createdDate": xxxxxxxxxx,
             "id": "xxxxxxxxxx",
             "name": "Flashcard API"
         },
    
        ]
    }
    

  • 실행

    방금 검색한 ID와 Swagger 스키마 파일을 기반으로 API를 업데이트합니다.
    ./aws-api-import.sh --update [API ID] [Swaggerのスキーマファイル]
    

    ※배포하지 않은 경우

  • 기타



    Swagger는 vendor extension을 통해 공급 업체가 사양을 확장 할 수있게합니다.

    AWS API Gateway는 현재 x-amazon-apigateway-authx-amazon-apigateway-integration라는 항목을 제공하며 인증 방법과 백엔드 간의 연결을 구성할 수 있습니다.

    좋은 웹페이지 즐겨찾기