CS/프로젝트(21)
-
[게시판 프로젝트] 게시글 댓글 구현 - ArticleCommentController 코드 뜯어보며, 댓글 기능 프로세스 이해하기
ArticleCommentController댓글 작성 메소드 @PostMapping("/new")public String postNewArticleComment(ArticleCommentRequest articleCommentRequest)@PostMapping("/new")HTTP POST 요청을 처리하며, /comments/new URL과 매핑됩니다. 이 메소드는 새로운 댓글을 작성할 때 호출됩니다.public String postNewArticleComment(ArticleCommentRequest articleCommentRequest)이 메소드는 클라이언트로부터 ArticleCommentRequest 객체를 받아 처리하며, 처리 후 리다이렉트할 URL을 반환합니다.articleCommentSer..
2024.08.26 -
[게시판 프로젝트] 게시판 검색 구현
SearchType enum 클래스ArticleController - 검색관련 SearchType 데이터 ModelMap에 추가 Before@GetMapping//게시글 리스트 페이지 - 정상 호출 public String articles( @RequestParam(required=false)SearchType searchType, @RequestParam(required = false) String searchValue, @PageableDefault(size=10, sort = "createdAt",direction = Sort.Direction.DESC) Pageable pageable, ModelMap map ..
2024.08.26 -
[게시판 프로젝트] 페이지네이션(Pagination) 구현
페이지네이션 기능을 제공하며,주로 페이지 네비게이션 바에 표시될 페이지 번호들을 계산하는 역할을 수행하는Spring 서비스 클래스인 PaginationService를 구현하고,Pagination기능이 적용되어야할 ArticleController클래스의 코드와 뷰도 수정해 봅시다!PaginationService 클래스 선언부@Service public class PaginationService {@Service: 이 어노테이션은 이 클래스가 서비스 계층의 역할을 수행하며, Spring의 빈(Bean)으로 등록된다는 것을 나타냅니다. 서비스 클래스는 주로 비즈니스 로직을 처리하는 곳입니다.public class PaginationService: PaginationService라는 이름의 공개(public) ..
2024.08.26 -
[게시판 프로젝트] ArticleRequest와 ArticleResponse를 사용하는 상황의 차이 이해하기, DTO를 따로 만들어 사용하는 이유
요청 응답 DTO를 사용하는 상황의 차이를 이해하고,왜 요청/응답을 DTO로 만들어서 사용하는지그 이점과 예시를 알아보자 1. ArticleRequest: 클라이언트에서 서버로 데이터를 전송할 때 사용사용 목적ArticleRequest는 주로 클라이언트(사용자)로부터 입력된 데이터를 서버로 전달받을 때 사용됩니다.예를 들어, 사용자가 게시글 작성 폼에 내용을 입력하고 제출할 때, 그 데이터는 ArticleRequest 객체로 매핑됩니다.즉, 사용자 입력 데이터를 서버가 받을 수 있도록 하기 위한 객체입니다.사용 예시게시글 작성: 사용자가 작성한 게시글의 제목, 내용 등을 서버로 전송할 때 ArticleRequest가 사용됩니다.게시글 수정: 기존 게시글을 수정하는 폼에서도 수정된 데이터를 받아올 때 사용..
2024.08.26 -
[게시판 프로젝트] ArticleController 코드 뜯어 보기를 통해서, 서비스계층과 레포지토리 DTO간 호출/응답 관계 이해하기
ArticleController의 코드를 뜯어보며,controller와 service, repository, DTO간어떻게 호출하고 응답하는지 관계를 알아보자ArticleController클래스 선언부@RequiredArgsConstructor: final로 선언된 모든 필드를 매개변수로 갖는 생성자를 자동으로 생성해줍니다. 따라서 ArticleService와 PaginationService가 생성자 주입을 통해 주입됩니다.@Controller: 이 클래스가 Spring MVC의 컨트롤러로 동작함을 나타냅니다. 웹 요청을 처리하고, 뷰(View)에 데이터를 전달하는 역할을 합니다.@RequestMapping("/articles"): 이 컨트롤러 내의 모든 메소드들은 /articles로 시작하는 URL에..
2024.08.26 -
[게시판 프로젝트] 뷰 구현(3) - Boostrap 프레임워크 라이브러리 사용해서 CSS 적용하기
Bootstrap 프레임워크 라이브러리를 사용해서뷰에 디자인(CSS)을 입혀보자(현재, 스프링 시큐리디가 자동생성해준 login & logout 페이지 이외는 디자인이 없는 상태) bootstrap 사이트 - DocsCreate a new index.html file in your project root- 기존 index.html 문서에 중복되는 부분을 제거하고 추가해준다. Hello, world! Include Bootstrap’s CSS and JS[주의] javascript 태그는 태그의 가장 마지막에 배치해야한다.마크업 문서가 순서대로 읽혀지면서, interpreting이 되기 때문에, 마지막에 배치해서 순서문제에서 자유로울 수 있다.만약 javascript를 상단에 배치하게 ..
2024.08.17