Rest API/Spring Framework

○ OPEN API 템플릿 만들기 - ER Diagram

심심한 낙지 2020. 8. 6. 01:45

POOPOO: 배변 일기 앱

SMALL

 

이 포스팅은 Spring Framework 4.x 버전을 이용하였습니다.


목차


ER Diagram - 개념설계

 

ER Diagram - 개념설계

 

 

 

1. 사용자/권한 정보

 

테이블명 : 사용자 (API_USER)

사용자의 정보를 가지고 있는 테이블입니다.

로그인 / 회원가입 시 주로 사용됩니다.

No 컬럼명 컬럼내용 부가정보
1 id 사용자 아이디 Primary Key
2 password 사용자 비밀번호 -
3 purpose OPEN API 사용목적 -
4 create_at 등록일 -
5 update_at 수정일 -

 

테이블명 : 권한 (API_AUTH)

사용자가 가질 수 있는 권한의 종류에 대한 정보를 가지고 있는 테이블입니다.

사용자/관리자 와 같이 특정 페이지 및 API에 대한 접근권한을 별도로 지정하고 싶은 경우에 사용되는 테이블입니다.

No 컬럼명 컬럼내용 부가정보
1 id 권한 아이디 Primary Key
2 name 권한 이름 -

 

테이블명 : 사용자 권한 (API_USER_AUTH)

사용자가 가진 권한에 대한 정보를 다루고 있는 테이블입니다.

권한 테이블에 있는 정보를 바탕으로 사용자에게 권한을 부여하거나 제거하는 경우에 주로 사용됩니다.

이 테이블의 정보를 바탕으로 접근권한을 검증하는 로직이 수행됩니다.

No 컬럼명 컬럼내용 부가정보
1 id 사용자 권한 아이디 Primary Key
2 api_user_id 사용자 아이디 Foreign Key
3 api_auth_id 권한 아이디 Foreign Key

 

 

2. API 정보

 

테이블명 : API (API)

API에 관한 정보를 가지고 있는 테이블입니다.

API URL 정보를 하나로 묶는 그룹 역할로만 사용중이지만, 추후 API에 대한 설명이나 별도의 부가정보를 추가하여 사용하실 수 있습니다.

No 컬럼명 컬럼내용 부가정보
1 id API 아이디 Primary Key
2 domain API 도메인 -
3 name API 이름 -
4 create_at 등록일 -
5 update_at 수정일 -

 

테이블명 : API URL (API_URL)

API에 대한 URL 정보를 가지고 있는 테이블입니다.

특정 API가 가지고 있는 모든 URL을 등록하여 사용자에게 어떤 API 요청을 이용할 수 있는지에 대한 정보를 제공합니다.

No 컬럼명 컬럼내용 부가정보
1 id API URL 아이디 Primary Key
2 api_id API 아이디 Foreign Key
3 request_type 요청타입 GET
PUT
POST
DELETE
4 request_url 요청 URL -
5 create_at 등록일 -
6 update_at 수정일 -

 

 

3. API 이용

 

테이블명 : 사용자 API 신청내역 (API_USE_APPLY)

사용자가 API 사용신청을 하는 경우에 입력해야하는 정보들을 가지고 있는 테이블입니다.

접근 아이피를 등록하여, 해당하는 아이피에서의 이용만 가능합니다.

No 컬럼명 컬럼내용 부가정보
1 id 사용자 API 신청내역 아이디 Primary Key
2 api_user_id 사용자 아이디 Foreign Key
3 api_id API 아이디 Foreign Key
4 project_name 프로젝트 이름 -
5 ip 접근 아이피 -
6 status 신청상태 0: 승인대기
1: 승인
2: 승인취소
7 create_at 신청일 -

 

테이블명 : 사용자 API 사용내역 (API_USE_HISTORY)

각 사용자가 API를 신청 후 얼마나 사용했는지를 보여주는 테이블입니다.

하루 요청 1000회 무료제공과 같은 옵션을 적용하는 경우에 사용할 수 있는 정보입니다.

No 컬럼명 컬럼내용 부가정보
1 id 사용자 API 사용내역 아이디 Primary Key
2 api_user_apply_id 사용자 API 신청내역 아이디 Foreign Key
3 call_count 호출횟수 -

 

 

4. 사용이력

 

테이블명 : 사용자 접속이력 (API_USER_LOG)

OPEN API 포탈 사이트의 로그인/로그아웃 이력을 관리하는 테이블입니다.

추후 메뉴 사용이력과 같이 다른 종류의 이력을 관리할 수 있습니다.

No 컬럼명 컬럼내용 부가정보
1 id 아이디 Primary Key
2 api_user_id 사용자 아이디 Foreign Key
3 ip 아이피 -
4 message 메시지 -
5 create_at 등록일 -

 

테이블명 : 사용자 API 호출이력 (API_USER_REQUEST_LOG)

사용자가 API를 이용하는 경우,  API 호출에 대한 요청 및 응답에 대한 정보를 암호화하여 기록합니다.

No 컬럼명 컬럼내용 부가정보
1 id 아이디 Primary Key
2 api_user_id 사용자 아이디 Foreign Key
3 api_url_id API URL 아이디 Foreign Key
4 ip 접근아이피 -
5 request 리퀘스트 양방향 암호화
6 response 리스폰스 양방향 암호화
7 error_message 에러메시지 -

 

LIST