WoowonKim / APICloud

API명세 작성 툴, 및 스프링 부트 스켈레톤 코드 추출 프로젝트

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

☁️APICloud

💡 APICloud - API 생성 서비스

Spring Boot Framework 환경에서 Restful API를 개발할 시, 작성한 API 명세를 기반으로 Controller를 작성해주는 웹서비스

주요기능

  1. 작성한 API 명세를 기반으로 SpringBoot 프로젝트, controller, DTO 생성
  2. 작성된 API들의 요청값과 반환값 확인 및 테스트
  3. Google/Github 로그인을 통해 사용자 API 문서를 저장 및 그룹 생성
  4. 그룹 API 문서 동시 작성/편집
  5. 작성된 API 문서를 PDF, CSV, Notion으로 Export
  6. 프로젝트, API 문서 간 동기화 기능

아키텍쳐

image

기능영상

웰컴페이지

image

  • Google, Github 로그인

API Doc 생성, 정보 수정

  • api doc 생성

    01_main_API명세서생성

    • 서버 정보 삽입
    • 공유 유저 선택
  • 유저 권한 설정

    02_main_유저권한설정

    • 편집자, 뷰어 중 설정
    • 그룹에서 사용자 삭제

API Doc 편집

  • 컨트롤러 생성

    03_createApi_컨트롤러생성

  • 컨트롤러 생성 시 유효성 검사

    04_createApi_컨트롤러추가유효성

    • 중복되는 컨트롤러 이름, 중복되는 api 검사
  • 명세서 작성

    05_createApi_명세서작성

  • dto 중복 확인

    06_createApi_dto중복확인

    • 새로 생성할 dto 이름이 이미 같은 controller 내에 존재할 시, 이름을 변경하거나 기존 dto를 사용 가능
  • dto 정보 보기

    07_creaeApi_dto정보보기

    • 해당 api 문서에서 사용된 dto 정보 확인 가능
  • 추춭

    • 노션 추출

      08_extract_Notion

    • spring boot 추출

      09_extract_SpringBoot

    • csv 추출

      10_extract_CSV

API Doc 동기화

  • 코드 > API 문서

    11_sync_파일to문서

    • 코드에서 수정된 내용을 api 문서에 적용
  • API 문서 > 코드

    12_sync_문서to코드

    • api 문서에서 수정된 내용을 코드에 추가

API Docs 상세보기

13_apiDocs_문서상세보기

  • 작성한 api를 쉽게 확인 가능
  • 사이드바에서 원하는 api를 선택하여 바로 이동

API test

14_api_test페이지

  • 작성한 api 문서를 기반으로 자동으로 test 틀 생성

  • Request Body, Query, Parameter 전송 가능

    • Request Body: JSON 형태로 작성
    • Query: url에 ?를 입력하면 필요한 query key 자동 생성
    • Parameter: url에 직접 입력

산출물

팀소개

이름 역할
신영제 팀장, Frontend
김우원 부팀장, Backend
김은경 팀원, Backend
김은혜 팀원, Frontend
정세미 팀원, Backend
조유진 팀원, Frontend

기여

APICloud 프로젝트는 오픈소스이며, 개발자 분들의 참여를 환영합니다. APICloud에 Contributor로 참여하는 법은 Contributor Guide를 참고해주세요.

라이선스

Distributed under the SGPL license. See License for more information.

About

API명세 작성 툴, 및 스프링 부트 스켈레톤 코드 추출 프로젝트

License:Other


Languages

Language:TypeScript 42.7%Language:Java 36.8%Language:SCSS 7.5%Language:JavaScript 6.6%Language:CSS 3.5%Language:HTML 2.2%Language:Vue 0.5%Language:Dockerfile 0.1%Language:Procfile 0.0%