Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 취업리부트코스
- JavaScript
- 프로그래머스
- 개발자 취업
- jwttoken
- 99클럽
- 전략패턴 #StrategyPattern #디자인패턴
- TiL
- 디자인 패턴
- DesignPattern
- Spring multimodule
- 빈 조회 2개 이상
- Python
- 커스텀 헤더
- 코딩테스트 준비
- 파이썬
- infcon 2024
- 프로그래머스 이중우선순위큐
- 빈 충돌
- KPT회고
- @FeignClient
- spring batch 5.0
- 개발자부트캠프추천
- 디자인패턴
- 단기개발자코스
- 항해99
- 1주일회고
- 인프콘 2024
- jwt
- 구글 OAuth login
Archives
- Today
- Total
m1ndy5's coding blog
1차 API 설계 및 클래스 설계 본문
유저
- 클래스 설계
UserController -> UserService -> UserRepository - API 설계
유저 생성 : POST /members
유저 전체 조회 : GET /members
유저 한명 조회 : GET /members/{id}
유저 정보 수정 : PATCH /members/{id}
유저 삭제 및 비활성화 : PATCH /members/{id}커뮤니티 - 게시글
- 클래스 설계
PostController -> PostService -> PostRepository - API 설계
게시글 생성 : POST /posts
유저의 게시글 전체 조회 : GET /members/{id}/posts
게시글 한개 조회 : GET /posts/{id}
게시글 수정 : PUT /posts/{id}
게시글 삭제 : PATCH /posts/{id}커뮤니티 - 댓글 & 대댓글
- 클래스 설계
CommentController -> CommentService -> CommentRepository - API 설계
게시글에 댓글 달기 : POST /posts/{id}/comments
게시글의 댓글 전체 조회 : GET /posts/{id}/comments
댓글 한개 조회 : GET /posts/{id}/comments/{id} or /comments/{id}
댓글 수정 : PUT /posts/{id}/comments/{id} or /comments/{id}
댓글 삭제 : PATCH /posts/{id}/comments/{id} or /comments/{id}
대댓글 달기 : POST /comments/{id}/recomments
댓글의 대댓글 전체 조회 : GET /comments/{id}/recomments
대댓글 수정 : PUT /comments/{id}/recomments/{id} or /recomments/{id}
대댓글 삭제 : PATCH /comments/{id}/recomments/{id} or /recomments/{id}중간 지점 찾기
- 클래스 설계
MiddlePointController
ㅣ
<< interface >> MiddlePointService
Centroid Service : 무게 중심으로 중간 좌표 구하는 로직
ㅣ// 추후에 더 좋은 방법있으면 만들기
MiddlePointRepository - API 설계
사용자들의 좌표 입력 : POST /middlepoints
전송값 : 사용자들의 위치 좌표
결과값 : 유저들의 위치 좌표 값들의 중간 지점에 해당하는 지역 코드들(여러개)가게 추천
- 클래스 설계
StoreController
ㅣ
<< interface >> StoreService
AdminCheckStoreService : 관리자가 허용한 가게들만 등록 가능
// 추후에 더 좋은 방법있으면 만들기
ㅣ
StoreRepository - API 설계
가게 등록 : POST /area/{area-code}/stores
가게 조회 : GET /area/{area-code}/stores
가게 한개 조회 : GET /area/{area-code}/stores/{id}
가게 정보 수정 : PATCH /area/{area-code}/stores/{id} or /stores/{id} -> 이 또한 관리자에게 요청을 보내면 승인하는 형식으로 해야할듯
가게 삭제 : PATCH /area/{area-code}/stores/{id} or /stores/{id} -> 관리자 권한, 일반 사용자는 삭제 권한 x - 생각해봐야할 점
지역코드를 어떻게 지정할까?
ENUM으로 해도 될까?가게 리뷰 작성
- 클래스 설계
ReviewController -> ReviewService -> ReviewRepository - API 설계
리뷰 등록 : POST /stores/{id}/reviews
한 가게 리뷰 전제 조회 : GET /stores/{id}/reviews
리뷰 한개 조회 : GET /stores/{id}/reviews/{id}
리뷰 수정 : PUT /stores/{id}/reviews/{id} or /reviews/{id}
리뷰 삭제 : PATCH /stores/{id}/reviews/{id} or /reviews/{id}
'Toy Projects > 중간 장소 추천 서비스' 카테고리의 다른 글
Google OAuth로그인 구현하기 1 (0) | 2023.12.16 |
---|---|
기술 스택 및 1차 구현 기능 정하기 (0) | 2023.12.09 |