Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Refactor] OpenAPI를 이용하여 api interface 추출하기 #472

Open
wants to merge 7 commits into
base: develop
Choose a base branch
from

Conversation

eonseok-jeon
Copy link
Member

@eonseok-jeon eonseok-jeon commented Dec 27, 2024

Related Issue : Closes #471


🧑‍🎤 Summary

sopt-operation에서 해준 작업이랑 동일합니다

org admin에 대한 api interface를 생성했어요
openapi spec을 이용해 줬고요
사용법이 궁금하시다면 여기서 확인하시면 될 거 같아요~

openapi-fetch를 사용해줬는데 작은 번들 사이즈와 사실상 제로 런타임에 가까워 성능상 문제가 전혀 없어서 그랬습니다!

openapi-react-queryopenapi-typescript-fetch 보다 사용법이 더 직관적이고 익숙할 뿐 아니라 사용자 수도 더 많아서 openapi-fetch를 골라줬습니다

openapi-typescript를 통해 생성된 interface는 1,000 줄이 넘는 코드로 너무 복잡해서 여기서 따로 type을 추출하기 어려웠어요
따라서 type을 추출하는 아래 라이브러리를 이용해줬습니다
swagger-typescript-api

yarn api-spec 명령어를 입력하면 자동으로 openapi spec으로 paths와 type들이 추출되도록 해놨습니다.

./src/ㅡㅡgeneratedㅡㅡ/api-types/data-contracts.ts에 type들이 추출되어 있어요
나머지 파일들은 각각의 API들끼리 모아놓은 파일입니다
내가 필요한 req data의 type이 뭔지 헷갈린다 하면 해당 API 파일로 가서 참고하시면 좋을 거 같아요

@eonseok-jeon eonseok-jeon self-assigned this Dec 27, 2024
@eonseok-jeon eonseok-jeon linked an issue Dec 27, 2024 that may be closed by this pull request
Copy link

height bot commented Dec 27, 2024

Link Height tasks by mentioning a task ID in the pull request title or commit messages, or description and comments with the keyword link (e.g. "Link T-123").

💡Tip: You can also use "Close T-X" to automatically close a task when the pull request is merged.

Copy link

cloudflare-workers-and-pages bot commented Dec 27, 2024

Deploying sopt-recruiting-frontend-test with  Cloudflare Pages  Cloudflare Pages

Latest commit: 7daf56f
Status: ✅  Deploy successful!
Preview URL: https://30f7a519.sopt-recruiting-frontend-test.pages.dev
Branch Preview URL: https://refactor--471-openapi.sopt-recruiting-frontend-test.pages.dev

View logs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Refactor] OpenAPI를 이용하여 api interface 추출하기
1 participant