티스토리 뷰
반응형
글 작성하는 페이지를 추가하고 여기저기 버튼을 추가해 편의성을 높여보겠습니다.
API 추가
@GetMapping("/anonymous-posts/write")
public ModelAndView getAnonymousPostsWrite() {
ModelAndView mav = new ModelAndView();
mav.setViewName("/anonymous_board/write_post");
return mav;
}
글 작성을 하기 위한 페이지를 조회하는 API를 생성합니다.
참고로 글을 작성하고 DB에 저장하는 API는 이미 만들어져 있습니다.
2022.11.27 - [웹/Spring] - Spring Boot로 게시판 만들기 (게시물 생성, 조회)
Spring Boot로 게시판 만들기 (게시물 생성, 조회)
게시물을 생성하고 조회할 수 있는 API를 먼저 만들겠습니다. 만들 API는 총 3개이며 (1) 모든 게시물 조회 (2) 특정 게시물 조회 (3) 게시물 생성 입니다. 위처럼 Controller, Service를 작성했습니다. Contr
jellyinghead.tistory.com
Service 수정
public AnonymousPost addAnonymousPost(AnonymousPost anonymousPost) {
//TODO IP나 유저 식별 가능한 값으로 암호화하고 짤라서 내보내도록 변경
anonymousPost.setWriter("익명");
AnonymousPostInfo anonymousPostInfo = anonymousPostInfoRepository.save(new AnonymousPostInfo(anonymousPost));
return new AnonymousPost(anonymousPostInfo,
anonymousPostDataRepository.save(new AnonymousPostData(anonymousPostInfo.getId(), anonymousPost.getBody())));
}
Service 코드에서 글 작성 시 작성자의 값을 "익명"으로 넣어줍니다.
나중에 request를 열어보고 헤더의 어떤 값을 이용하여 익명123처럼 익명끼리 구별할 수 있도록 변경할 예정입니다.
글 작성 페이지 추가
"등록" 버튼을 눌렀을 때 API를 호출해야 합니다. Javascript에서 API를 호출할 수 있는 여러가지 방법이 있지만, 저는 그 중 간편하고 다른 설치가 필요없는 fetch를 이용했습니다.
글을 작성하고 자연스러운 flow를 생각해 보면, 작성된 글을 보여주는 것이 자연스럽습니다. POST API의 응답 생성된 post 객체를 넘겨줍니다. 그래서 이 값을 이용하여 redirect했습니다.
반응형
'웹 - Legacy > Spring' 카테고리의 다른 글
Mustache Config (Formatter를 통해 데이터 format 설정하기) (0) | 2022.12.11 |
---|---|
Spring Boot로 게시판 만들기 (Mustache를 이용해 화면 그리기) (0) | 2022.12.11 |
Spring Boot로 게시판 만들기 (게시물 생성, 조회) (2) | 2022.11.27 |
Spring Boot로 게시판 만들기 (테이블 설계) (2) | 2022.11.22 |
Spring Boot로 게시판 만들기 (JPA) (4) | 2022.07.02 |
댓글