2024 마스터즈 백엔드 스프링 카페
URL | 기능 | 구현 상태 |
---|---|---|
GET / , GET /main | 등록된 모든 게시글들을 보여준다 | ⭕️ |
GET /users | 회원가입된 유저들을 보여준다. | ⭕️ |
POST /users | 입력된 폼을 가지고, 회원 가입을 수행한다 | ⭕️ |
GET /users/join | 유저 회원가입 폼을 보여준다 | ⭕️ |
GET /users/login | 로그인 페이지를 보여준다 | ⭕️ |
POST /users/login | 사용자 로그인 기능을 수행한다 | ⭕️ |
POST /users/logout | 로그인 된 사용자를 로그아웃 | ⭕️ |
GET /users/profile/{{userId}} | userId에 해당하는 profile을 보여준다 | ⭕️ |
GET /users/update/{{userId}} | userId에 해당하는 수정 페이지를 보여준다 | ⭕️ |
PUT /users/{{userId}} | 사용자의 정보를 업데이트 | ⭕️ |
GET /articles/write | 게시물 입력하는 폼을 보여준다 | ⭕️ |
POST /articles | 입력한 폼을 POST 요청으로 보낸다 | ⭕️ |
GET /articles/{{articleId}} | articleId에 해당하는 게시물 상세정보를 보여준다 | ⭕️ |
GET /articles/update/{{articleId}} | articleId에 해당하는 수정 페이지를 보여줌 | ⭕️ |
PUT /articles/{{articleId}} | articleId의 제목과 내용을 수정 | ⭕️ |
DELETE /articles/{{articleId}} | articleId에 대한 게시글을 삭제 | ⭕️ |
POST /api/articles/{articleId}/replies | articleId에 대한 댓글 작성 | ⭕️ |
DELETE /api/articles/{articleId}/replies/{replyId} | replyId에 대한 댓글을 삭제 | ⭕️ |
- 기존 PW : 123
- 수정 페이지에서 입력한 PW : 1234
- 에러 로그가 뜨는 것을 볼 수 있다.
- 최신 작성한 글이 가장 상단에 보인다
- 제목, 내용, 작성자, 작성 시간 표시
- 작성자 : default로 "작성자" 가 들어간다.
- 로그인 기능 구현 후 수정 예정
- 작성자 : default로 "작성자" 가 들어간다.
- 인스턴스 종료 [04.15]
3000번째 게시물은 없는 상태
whoami 라는 사용자는 없는 상태
templates
에 있는 html 파일들의 nav 부분이 중복된다.- 또한, 추후에 로그인이 되었을 경우와 안되었을 경우를 분리하기 위해
mustache 부분 템플릿
이 필요
- 또한, 추후에 로그인이 되었을 경우와 안되었을 경우를 분리하기 위해
/templates/base
폴더에 html 파일을 생성application.properties
에 suffix를 .html로 해놓았기 때문에, base 폴더의 부분 템플릿 확장자는.html
로 구현
navBarNav.html
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="/users/list">멤버 리스트</a></li>
<li><a class="black-component" href="/users/login" role="button">로그인</a></li>
<li><a class="black-component" href="/users" role="button">회원가입</a></li>
</ul>
-
위의 내비바 html을 적용하고자 하는 html에 주입한다.
-
form.html
<nav class="navbar navbar-fixed-top header">
<div class="col-md-12">
{{> /base/navBarHeader}}
{{> /base/navBarNav}} <!--해당 부분-->
</div>
</nav>
- {{> 파일경로/파일이름}} 을 통해 html 요소를 넣어주어 html 중복 분리
- UserManagementService에서 예외를 던진다.
- 예외를 처리하는
ExceptionController
를 구현/error/ErrorController
- 예외를 처리하는
- 사용자 비밀번호를 평문으로 저장하지 않기 위해 구현
- sha256 해시 알고리즘을 이용하여 구현
SHA256HashService
를 구현