점프 투 스프링부트를 보고 게시판을 따라 만드는 프로젝트이다.
3-15의 추가기능을 모두 구현하는 것을 목표로 한다.
마이페이지로 접속 할 링크를 만들어 줌.
---생략---
<li class="nav-item float-end">
<a class="nav-link" sec:authorize="isAuthenticated()" th:href="@{/question/list/myQuestion}">내 질문</a>
</li>
<li class="nav-item float-end">
<a class="nav-link" sec:authorize="isAuthenticated()" th:href="@{/answer/list/myAnswer}">내 답변</a>
</li>
</ul>
<li sec:authorize="isAuthenticated()">
<a th:href="@{|/user/mypage/${}|}">
<span sec:authentication="principal.username"></span>
</a>님 환영합니다.
</li>
네비게이션 바 :

마이페이지 템플릿을 만들어서 한번에 보여주는 것보다는 백엔드 기능개발 공부가 목적이라서 아직 마이페이지를 만들진 않았음.
list/myquestion 도메인에 매핑. principal 객체에서 현 사용자 이름 받아와서 유저 서비스에 요청.
유저 객체 받아오고 그 유저가 작성한 질문 검색.
@PreAuthorize("isAuthenticated()")
@GetMapping("list/myQuestion")
public String getMyList(Model model, Principal principal, @RequestParam(value="page",defaultValue = "0")int page){
String username = principal.getName();
SiteUser user = this.userService.getUser(username);
Page<Question> myQuestion =this.questionService.getMyQuestion(page,user);
model.addAttribute("paging",myQuestion);
return"myQuestion_List";
}
사용자와 페이지를 받아서 열개씩 한페이지에 뿌려줌.
public Page<Question> getMyQuestion(int page ,SiteUser author){
Pageable pageable = PageRequest.of(page,10);
Page<Question> MyQuestionList =this.questionRepository.findByAuthor(author,pageable);
return MyQuestionList;
}
작성자를 기준으로 검색할 수 있는 findByAuthor 생성
Page<Question> findByAuthor (SiteUser author, Pageable pageable);


답변도 같은 로직으로 처리해서 뿌려줌.
질문과 답변 내용 보여줄 수 있도록 테이블 약간 수정.