-
Notifications
You must be signed in to change notification settings - Fork 42
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
[team-11 이노] FE, iOS에 따른 GitHub OAuth 구현, 프로젝트 API 구현 #42
Open
eNoLJ
wants to merge
73
commits into
codesquad-members-2021:team-11
Choose a base branch
from
HongzCloud:BE/dev
base: team-11
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Spring boot 프로젝트 생성
숙소 검색 요청에 대한 목업 API를 제공하기 위해 searchHouses 메소드 생성, 관련 dto 클래스 생성
범위 내 숙소 가격 요청에 대한 목업 API를 제공하기 위해 searchCharges 메소드 생성, 관련 DTO 클래스 생성
숙소 예약 페이지 요청에 대한 목업 API를 제공하기 위해 getReservationPage 메소드 생성, 관련 DTO 클래스 생성
숙소 예약 요청에 대한 목업 API를 제공하기 위해 makeReservation 메소드 생성, 관련 DTO 클래스 생성
위시 리스트 요청에 대한 목업 API를 제공하기 위해 getWishes 메소드 생성, 관련 DTO 클래스 생성
위시 요청에 대한 목업 API를 제공하기 위해 changeWish 메소드 생성
숙소 예약 리스트 요청에 대한 목업 API를 제공하기 위해 getReservationList 메소드 생성, 관련 DTO 클래스 생성
숙소 예약 디테일 정보 요청에 대한 목업 API를 제공하기 위해 getReservationDetail 메소드 생성, 관련 DTO 클래스 생성
숙소 예약 취소 요청에 대한 목업 API를 제공하기 위해 cancelReservation 메소드 생성
airbnb mockup API 생성
API 요청 시 메소드와 바디가 기록에 남도록 filter 설정
리액트에서 API를 사용할 수 있도록 cors 설정을 위해 WebConfig 클래스 생성
…sByCondition 메소드 수정
… 매개변수 수정 GET 요청에 body를 담을 수 없기 때문에 Parameter로 받도록 수정
mockup API 리팩토링
로그인, 로그아웃 기능을 제공하기 위해 UserController 클래스 생성, 관련 비즈니스 로직을 가진 UserService 클래스 생성, 관련 DTO 클래스 생성
getTokenAPI, getUserInfoAPI, getEmailAPI 메소드를 가지는 OAuth 인터페이스를 상속 받는 GitHubOAuth 클래스 생성, 관련 비즈니스 로직과 이넘 클래스 생성, Jwt 토큰을 사용한 인증방식 구현
로그인/로그아웃 API 생성
JwtUtil 클래스 리팩토링
HouseController 클래스의 Reservation 부분과 Wish 부분을 ReservationController 클래스와 WishController 클래스로 분리
HouseService 클래스의 Reservation 부분과 Wish 부분을 ReservationService 클래스와 WishService 클래스로 분리
HouseController, HouseService 분리
makeLocation, makeHost, makeLocal, getHostImage 메소드 제거, 해당 정보들은 DTO 클래스에서 갖도록 수정
Optional로 만들기 위해 리스트로 받아 스트림으로 만든 후 찾아 반환하던 방식에서 직접 Optional.ofNullable 메소드를 사용하여 만들어 반환하도록 수정
makeDate, getCheckInTime, getCheckOutTime, makeOption 메소드 제거, 해당 정보는 각각의 DTO 클래스에서 만들어주도록 변경
@ksundong
정도인데 이렇게 주저리 말씀드리는 이유는 디온이 정말 정성스레 리뷰를 해주셨는데 다 하지 못할 수도 있을 것 같아 죄송해서 말씀드립니다. |
swing-park
pushed a commit
that referenced
this pull request
Jun 5, 2021
swing-park
pushed a commit
that referenced
this pull request
Jun 5, 2021
swing-park
pushed a commit
that referenced
this pull request
Jun 5, 2021
swing-park
pushed a commit
that referenced
this pull request
Jun 5, 2021
swing-park
pushed a commit
that referenced
this pull request
Jun 5, 2021
swing-park
pushed a commit
that referenced
this pull request
Jun 5, 2021
swing-park
pushed a commit
that referenced
this pull request
Jun 5, 2021
swing-park
pushed a commit
that referenced
this pull request
Jun 5, 2021
crongro
pushed a commit
that referenced
this pull request
Jun 7, 2021
crongro
pushed a commit
that referenced
this pull request
Jun 7, 2021
crongro
pushed a commit
that referenced
this pull request
Jun 7, 2021
crongro
pushed a commit
that referenced
this pull request
Jun 7, 2021
crongro
pushed a commit
that referenced
this pull request
Jun 9, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
새롭게 구현한 부분
이번에 처음 JDBC Template을 사용하면서 궁금한 점이 하나 생겼습니다.
DAO에서 쿼리에 해당하는 엔티티 클래스로 매핑을 진행했습니다. 여기서 궁금한 점이 생겼는데 테이블 join 시 컬럼이 늘어나게 되고 매핑 가능한 엔티티 클래스가 없어집니다. 이 때 엔티티 클래스가 아닌 별도의 클래스를 만들어 매핑을 진행하는 것이 좋은지 아니면 엔티티 클래스로 매핑하여 가져 온 뒤 코드 상에서 변환을 해주는 것이 좋은지 의견 주시면 감사하겠습니다.
전자의 경우 필요한 정보들을 얻기 위해 여러 DAO를 사용해야하는 단점이 있고, 후자의 경우 한번의 쿼리로 필요한 정보들을 얻을 수 있다는 장점이 있는 반면 엔티티 클래스가 아닌 다른 클래스가 db와 접촉을 한다는게 찝찝합니다. 그리고 그렇게 되면 자연스레 비지니스 로직 또한 매핑을 위해 새로 만든 별도의 클래스에 생기게 되는데 비지니스 로직은 service와 entity 에서 처리를 해줘야하는 걸로 알고 있어서 더 헷갈리네요.
지난 프로젝트에서는 API 만들어 지는게 늦어져 PR을 못 보냈기 때문에 엄청 오랜만에 PR을 보내게 되었네요.
OAuth든 JDBC Template이든 새롭게 적용한 것들이 많아 부족한 부분이 많으리라 생각됩니다. 사소한거 하나하나 다 지적해주시면 최대한 다 반영하도록 하겠습니다.
이번 리뷰도 잘 부탁드립니다!!