EC2에 배포된 서버 주소 http://54.210.130.176:8080
회원가입 할 이메일(이메일 양식)과 비밀번호(8자 이상)를 입력하여 회원가입
로그인 할 이메일(이메일 양식)과 비밀번호(8자 이상)를 입력하여 로그인
로그인 후 받은 Authorization 토큰 값을 Header에 넣어 권한을 인증해야 게시글 생성, 수정, 삭제가 가능하다.
- 로그인 후 받은 토큰 값을 Bearer Token에 넣는다.
- 작성할 게시글 제목과 내용을 Request(Json)에 담아 보낸다.
pagination Parameter에 페이지 번호(0부터 시작)를 입력하여 원하는 페이지의 게시글 목록을 불러온다.
조회할 게시글 아이디를 PathVariable로 입력한다.
- 로그인 후 받은 토큰 값을 Bearer Token에 넣는다.
- 수정할 게시글 아이디를 PathVariable로 입력한다.
- 수정할 정보를 Request(Json)에 담아 보낸다(이때 제목만 보내거나 내용만 보내 원하는 정보만 수정하는 것이 가능하다).
- 로그인 후 받은 토큰 값을 Beaer Token에 넣는다.
- 삭제할 게시글 아이디를 PathVariable로 입력한다.
- MVC 패턴을 활용하여 각 코드 간의 의존성 분리 및 유지보수성, 가독성 향상
- Request, Response 객체를 따로 구분하여 코드의 가독성, 유지보수성을 향상시킴
- JWT, Spring Security를 사용하여 보안을 강화
- 로그인, 회원가입, 게시글 조회를 제외한 기능에서는 로그인 한 유저만 가능하도록 권한 검증하여 보안을 강화
- 에러에 따른 에러(400, 401, 403, 404, 409)로 구분하여 에러 추적 및 처리에 용이하도록 구현
- Mockito 테스트 코드를 작성하여 단위 테스트 및 의존성 분리 및 유지보수성 향상
- 이메일(이메일 형식), 비밀번호(8자 이상) Validation을 이용한 유효성 검사
- JPA를 사용하여 해당 이메일이 DB에 이미 존재하는지 확인(중복 확인)
- PasswordEncoder는 BCryptPasswordEncoder를 사용하여 비밀번호를 암호화
- 이메일(이메일 형식), 비밀번호(8자 이상) Validation을 이용한 유효성 검사
- 로그인 정보가 일치할 경우 JWT 토큰을 생성하여 클라이언트에게 Header에 담아서 반환
- 로그인 할 때 받은 JWT Token을 Header로 받아 권한이 있는 사용자인지 검증
- Validation을 활용하여 필수 입력 값(제목, 내용)을 입력하였는지 검사
- JPA Page 및 Pageable 객체를 사용하여 원하는 페이지의 게시글 목록을 불러와 필요한 정보만 Response 객체에 담아 반환
- PathVariable을 통해 게시글 id를 받아 보일러플레이트가 안 생기도록 함
- PathVariable을 통해 게시글 id를 받아 보일러플레이트가 안 생기도록 함
- JWT 토큰을 확인하고, authentication에 유저 정보를 저장한 것을 토대로 유저의 email을 가져와 해당 게시글 작성자인지 판단 후, 수정
- PathVariable을 통해 게시글 id를 받아 보일러플레이트가 안 생기도록 함
- JWT 토큰을 확인하고, authentication에 유저 정보를 저장한 것을 토대로 유저의 email을 가져와 해당 게시글 작성자인지 판단 후, 수정
Mokcito 테스트 코드를 작성하여 모든 기능 및 예외 처리에 대한 단위 테스
docker build -t xoeh7002/jinyeong . // 도커 허브에 이미지 빌드
docker push xoeh7002/jinyeong // 도커 허브에 이미지 푸시
vi 편집기를 통해 docker-compose.yml 내용 복사
docker-compose pull // 도커 허브 이미지 가져오기
docker-compose up // 가져온 이미지 컨테이너로 생성하여 실행
http://54.210.130.176 Port : 8080