shinhancard / dev-portal

Shinhancard developer portal public github repository
Apache License 2.0
9 stars 2 forks source link

feat: api docs 기능 추가 #31

Closed hellices closed 1 year ago

hellices commented 1 year ago

Description

[기능] backstage에 등록된 서비스의 api를 관리할 수 있는 기능을 제공한다. api endpoint와 prameter를 관리하도록 함

[주의사항] api 등록을 강제화할 수 있는 방안이 있을까? 없으면 관리가 안될듯? api 등록 자동화할 수 있는 방법은?

[참고] https://github.com/backstage/backstage/blob/master/plugins/api-docs/README.md

hellices commented 1 year ago

71 같이 진행? @YOOMYE89

hellices commented 1 year ago

참고사항

  1. component 등록 시 swaager.json파일 경로를 포함하여 배포(https://github.com/hellices/nodejs_template/blob/master/catalog-info.yaml)

    apiVersion: backstage.io/v1alpha1
    kind: API
    metadata:
    name: petstore
    description: The Petstore API
    spec:
    type: openapi
    lifecycle: production
    owner: petstore@example.com
    definition:
    $text: https://petstore.swagger.io/v2/swagger.json
  2. 위 파일의 경로를 읽기 허용하도록 backend app-config.yaml에 추가

    backend:
    reading:
    allow:
      - host: petstore.swagger.io
  3. backstage에서 컴포넌트 추가 -> create -> register existing component https://github.com/hellices/nodejs_template/blob/master/catalog-info.yaml 를 등록해본다.

    스크린샷 2023-08-17 오후 5 47 41 스크린샷 2023-08-17 오후 5 47 52
  4. api 확인 -> api -> petstore -> definition

    스크린샷 2023-08-17 오후 5 50 01

An API describes an interface that can be exposed by a component. The API can be defined in different formats, like OpenAPI, AsyncAPI, GraphQL, gRPC, or other formats.