스프링boot/정리 (8) 썸네일형 리스트형 Spring MVC) 좋아요, 조회수를 만들어 보자. 좋아요와 조회수인데 좋아요는 말그대로 좋아요를 해주는 기능이다. 요청이 들어오면 1증가 할꺼고 조회수는 get요청이 들어올때마다 숫자를 1식 증가 시킬꺼다. 그리고 이번 게시글에서는 전체적으로 수정된 미설명 코드들을 설명하는 시간을 가지겠다. 코드를 살펴보자. 먼저 Board에 Count 올릴 값들을 추가해주자. @Entity @Getter @Setter @NoArgsConstructor public class Board { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long boardId; private String title; private String content; private Integer boardCount =0; pri.. Spring MVC) 사용자를 만들어 보자 2 사용자를 만들었으나 회원가입과 로그인 기능이 필요하다. 로그인을 하여 게시글, 댓글 등의 접근권한도 얻을 것이다. 그래서 오늘은 Spring Securty + JWT를 사용하여 인증/인가 하는걸 보여주겠다. 곰곰히 생각해 봤는데 블로그에 장대하게 쓰는것 보단 주석을 보는게 가독성이 좋을 것 같아 코드마다 전부 주석처리를 해서 이게 왜 필요한지 적어 놨으니 코드를 살펴 보자. @Configuration //설정파일 만드는 거다. @EnableWebSecurity(debug = true) //Spring security 라고 선언 public class SecurityConfiguration { private final JwtTokenizer jwtTokenizer; // jwt 생성 검증 할때 사용할꺼임 .. Spring MVC) 사용자를 만들어 보자 1 오늘은 사용자를 만들꺼다 계속 그렇지만 반복하는 설명은 안할꺼다. 먼저 돌아가는 구조를 정리하자면 원하는 구조는 다음과 같다. 1. 사이트에 접속하면 게시글 목록이 나오는데 누구나 확인만 가능하다. 2. 회원 가입과 로그인을 한뒤 인증과 인가를 받아서 게시글과 댓글 그리고 좋아요 등록 권한을 얻는다. 3. 게시글과 조회수는 페이지네이션 처리가 되어야 한다. 4. 좋아요를 두번 누르면 취소가 된다.(같은 POST 요청이 중복) 5. 단일 게시판을 조회하면 조회수가 1 증가한다. 우선 우리는 Member Entity를 추가해야겠다. @Entity @Getter @Setter @NoArgsConstructor public class Member{ @Id @GeneratedValue(strategy = Gene.. Spring MVC) 댓글을 만들어 보자 우리는 게시판 까지 구현 완료 하였지만 이번에는 댓글 다는 기능을 만들어 보자. 다들 알겠지만 우리가 당연하다고 생각하는 것들은 전부 만들어 진것들이다. 먼저 댓글에 대해 생각을 해보자. 1) 댓글은 당연히 게시글에 달려야 겠지? 2) 댓글은 한개의 게시글에 여러개가 달릴수 있겠지? 3) 댓글도 모이면 페이지네이션 처리를 해야겠다. 4) 댓글이 게시글이랑 같이 딸려오면 과부화가 생기겠다. 5) 게시글에 들어가기전에 댓글이 몇개 달렸는지 알고 싶다. 6) 게시글이 삭제되면 댓글도 삭제되야겠다. 처음에 댓글 구현을 할때 내가 실수한게 있다. 바로 게시글을 하나 불러올때 댓글도 같이 불러온다는 것이다. 즉, 같은 api 주소를 사용해서 구현을 했다 Postman으로 결과를 보자. 아래는 1번 게시글을 요청해 .. Spring MVC) 게시판을 만들어 보자 4 마지막으로 조회 기능을 추가해 보도록 하자. 조회하는건 두가지 종류가 있다. 1) 게시글을 확인 2) 전체 게시글을 확인 우리가 아무 사이트나 들어가서 보면 게시글 목록이 쭈르륵 나오고 클릭해서 들어가면 해당 게시글을 볼수 있을꺼다. 지금 부터 그 작업을 해보자. 먼저 Dto를 살펴보자. @Getter @Setter @AllArgsConstructor public class BoardResponseDto { private Long boardId; private String title; private String content; //정적 팩토리 메서드 추가 public static BoardResponseDto FindFromBoard(Board board) { return new BoardResponse.. Spring MVC) 게시판을 만들어 보자 3 이젠 나머지 기능들을 넣어보자 먼저 수정을 담당하는 PATCH 기능과 예외 처리를 보자. Dto 볼까 @Getter @Setter public class BoardPatchDto { @NotEmpty private String title; @NotEmpty private String content; } POST와 구성요서가 당연히 같다. 제목 수정하고 내용 수정할꺼니깐 public Long updateBoard(BoardPatchDto boardPatchDto, Long boardId) { Board board = findBoardId(boardId); board.setTitle(boardPatchDto.getTitle()); board.setContent(boardPatchDto.getContent().. Spring MVC) 게시판을 만들어 보자 2 이전 게시글에서 기본 설정과 개념을 살펴보았다. 이번에는 POST 요청을 해보도록 하자. 구조는 다음과 같다. 이전에 언급한대로 Controller, dto, entity, repository, service가 보인다. 먼저 entity를 살펴보자. 참고로 자바의 기본적인 내용과 겹치는건 간단하게 넘어가겠다. @Entity @Getter @Setter @NoArgsConstructor public class Board { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long boardId; private String title; private String content; } 코드를 보면 @Entity @Getter @Setter 등 많.. Spring MVC) 게시판을 만들어 보자 1 프로젝트가 끝나고 이젠 남은건 취업인데 현실은 쉽지 않은것 같다. 열악한 곳도 요즘은 30대 1은 넘어가는것 같다. 상식적인곳은 200대 1이 기본으로 넘어가고 좋은곳은 말할것도 없겠지... 이력서를 돌리고는 있지만 생각 비우고 싶을때는 공부도 할겸 코딩이 최고인것 같다. 예상컨데 아마 많은 국비 수료생들이 수료해도 게시판도 잘 못만들것 같다.(사실 나도 잘 못한다) 이 글은 사람들이 나 처럼 개고생 하지 않기를 바라며 어려운 용어 다빼고 최대한 쉽게 설명하며 게시판을 만들어 보겠다. 기초 개념부터 시리즈로 만들것이며 기능을 하나씩 하나씩 같이 넣어보자. (자신이 CRUD는 한다 생각되면 나가야한다 시간낭비다) (백엔드만 만들꺼다) 우선 기본 설정과 시작하기에 앞서 간단한 설명들만 하겠다. 먼저 우리는 .. 이전 1 다음