rest controller practice
This commit is contained in:
@@ -39,6 +39,10 @@ public class Board {
|
|||||||
@OneToMany(mappedBy = "board")
|
@OneToMany(mappedBy = "board")
|
||||||
List<BoardLike> boardLikeList = new ArrayList<>();
|
List<BoardLike> boardLikeList = new ArrayList<>();
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
@OneToMany(mappedBy = "board")
|
||||||
|
List<BoardComment> boardCommentList = new ArrayList<>();
|
||||||
|
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
private String content;
|
private String content;
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package com.example.restcontroller.board.entity;
|
||||||
|
|
||||||
|
import com.example.restcontroller.user.entity.User;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@Entity
|
||||||
|
public class BoardComment {
|
||||||
|
|
||||||
|
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ManyToOne
|
||||||
|
@JoinColumn(foreignKey = @ForeignKey(name = "FK_BOARD_COMMENT_USER_ID"))
|
||||||
|
private User user;
|
||||||
|
|
||||||
|
@ManyToOne()
|
||||||
|
@JoinColumn(foreignKey = @ForeignKey(name = "FK_BOARD_COMMENT_BOARD_ID"))
|
||||||
|
private Board board;
|
||||||
|
|
||||||
|
private String comments;
|
||||||
|
|
||||||
|
private LocalDateTime regDate;
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.example.restcontroller.board.repository;
|
||||||
|
|
||||||
|
import com.example.restcontroller.board.entity.BoardComment;
|
||||||
|
import com.example.restcontroller.user.entity.User;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface BoardCommentRepository extends JpaRepository<BoardComment, Long> {
|
||||||
|
|
||||||
|
List<BoardComment> findByUser(User user);
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.example.restcontroller.board.service;
|
package com.example.restcontroller.board.service;
|
||||||
|
|
||||||
import com.example.restcontroller.board.entity.Board;
|
import com.example.restcontroller.board.entity.Board;
|
||||||
|
import com.example.restcontroller.board.entity.BoardComment;
|
||||||
import com.example.restcontroller.board.entity.BoardReport;
|
import com.example.restcontroller.board.entity.BoardReport;
|
||||||
import com.example.restcontroller.board.entity.BoardType;
|
import com.example.restcontroller.board.entity.BoardType;
|
||||||
import com.example.restcontroller.board.model.*;
|
import com.example.restcontroller.board.model.*;
|
||||||
@@ -44,4 +45,6 @@ public interface BoardService {
|
|||||||
ServiceResult deleteBookmark(Long id, String email);
|
ServiceResult deleteBookmark(Long id, String email);
|
||||||
|
|
||||||
List<Board> postList(String email);
|
List<Board> postList(String email);
|
||||||
|
|
||||||
|
List<BoardComment> commentList(String email);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ public class BoardServiceImpl implements BoardService {
|
|||||||
private final BoardReportRepository boardReportRepository;
|
private final BoardReportRepository boardReportRepository;
|
||||||
private final BoardScrapRepository boardScrapRepository;
|
private final BoardScrapRepository boardScrapRepository;
|
||||||
private final BoardBookmarkRepository boardBookmarkRepository;
|
private final BoardBookmarkRepository boardBookmarkRepository;
|
||||||
|
private final BoardCommentRepository boardCommentRepository;
|
||||||
private final UserRepository userRepository;
|
private final UserRepository userRepository;
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
@@ -363,4 +364,12 @@ public class BoardServiceImpl implements BoardService {
|
|||||||
|
|
||||||
return boardRepository.findByUser(userEntity);
|
return boardRepository.findByUser(userEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<BoardComment> commentList(String email) {
|
||||||
|
User userEntity = userRepository.findByEmail(email)
|
||||||
|
.orElseThrow(() -> new BizException("회원 정보가 존재하지 않습니다."));
|
||||||
|
|
||||||
|
return boardCommentRepository.findByUser(userEntity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.auth0.jwt.algorithms.Algorithm;
|
|||||||
import com.auth0.jwt.exceptions.JWTVerificationException;
|
import com.auth0.jwt.exceptions.JWTVerificationException;
|
||||||
import com.auth0.jwt.exceptions.SignatureVerificationException;
|
import com.auth0.jwt.exceptions.SignatureVerificationException;
|
||||||
import com.example.restcontroller.board.entity.Board;
|
import com.example.restcontroller.board.entity.Board;
|
||||||
|
import com.example.restcontroller.board.entity.BoardComment;
|
||||||
import com.example.restcontroller.board.service.BoardService;
|
import com.example.restcontroller.board.service.BoardService;
|
||||||
import com.example.restcontroller.common.model.ResponseResult;
|
import com.example.restcontroller.common.model.ResponseResult;
|
||||||
import com.example.restcontroller.notice.entity.Notice;
|
import com.example.restcontroller.notice.entity.Notice;
|
||||||
@@ -371,4 +372,18 @@ public class ApiUserController {
|
|||||||
List<Board> list = boardService.postList(email);
|
List<Board> list = boardService.postList(email);
|
||||||
return ResponseResult.success(list);
|
return ResponseResult.success(list);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@GetMapping("/api/user/board/comment")
|
||||||
|
public ResponseEntity<?> chapter3_21(@RequestHeader("TOKEN") String token) {
|
||||||
|
String email = "";
|
||||||
|
try {
|
||||||
|
email = JWTUtils.getIssuer(token);
|
||||||
|
} catch (JWTVerificationException e) {
|
||||||
|
return ResponseResult.fail("토큰 정보가 정확하지 않습니다.");
|
||||||
|
}
|
||||||
|
|
||||||
|
List<BoardComment> list = boardService.commentList(email);
|
||||||
|
|
||||||
|
return ResponseResult.success(list);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -72,10 +72,15 @@ public class User {
|
|||||||
@OneToMany(mappedBy = "user")
|
@OneToMany(mappedBy = "user")
|
||||||
List<BoardBookmark> boardBookmarkList = new ArrayList<>();
|
List<BoardBookmark> boardBookmarkList = new ArrayList<>();
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
@OneToMany(mappedBy = "user")
|
||||||
|
List<BoardComment> boardCommentList = new ArrayList<>();
|
||||||
|
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
@OneToMany(mappedBy = "user")
|
@OneToMany(mappedBy = "user")
|
||||||
List<UserInterest> userList = new ArrayList<>();
|
List<UserInterest> userList = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
@OneToMany(mappedBy = "interestUser")
|
@OneToMany(mappedBy = "interestUser")
|
||||||
List<UserInterest> userInterestList = new ArrayList<>();
|
List<UserInterest> userInterestList = new ArrayList<>();
|
||||||
|
|||||||
@@ -48,4 +48,11 @@ values
|
|||||||
(2, 1, '게시글4', '게시글 내용4', now(), 0),
|
(2, 1, '게시글4', '게시글 내용4', now(), 0),
|
||||||
(2, 2, '게시글5', '게시글 내용5', now(), 0),
|
(2, 2, '게시글5', '게시글 내용5', now(), 0),
|
||||||
(3, 1, '게시글6', '게시글 내용6', now(), 0),
|
(3, 1, '게시글6', '게시글 내용6', now(), 0),
|
||||||
(3, 3, '게시글7', '게시글 내용7', now(), 0);
|
(3, 3, '게시글7', '게시글 내용7', now(), 0);
|
||||||
|
|
||||||
|
insert into board_comment (comments, reg_date, board_id, user_id)
|
||||||
|
values
|
||||||
|
('게시글 1의 댓글1', now(), 1, 1),
|
||||||
|
('게시글 1의 댓글2', now(), 1, 2),
|
||||||
|
('게시글 2의 댓글1', now(), 2, 1),
|
||||||
|
('게시글 2의 댓글2', now(), 2, 3);
|
||||||
Reference in New Issue
Block a user