티스토리 뷰

반응형

 

글 작성하는 페이지를 추가하고 여기저기 버튼을 추가해 편의성을 높여보겠습니다.

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했습니다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함