생각정리/사이드 프로젝트
사이드 프로젝트 : 중고 거래 플랫폼 - 게시글
생각중임
2024. 1. 18. 13:42
ERD
Controller 구성
@RestController
@RequestMapping("/api")
@RequiredArgsConstructor
public class BoardController {
private final BoardService boardService;
@PostMapping("/board")
public BoardResponseDto createBoard(@RequestBody BoardRequestDto requestDto, @AuthenticationPrincipal UserDetailsImpl userDetails) {
return boardService.createBoard(requestDto, userDetails.getUser());
}
@GetMapping("/board")
public List<BoardResponseDto> getBoards() {
return boardService.getBoards();
}
@GetMapping("/board/search")
public List<BoardResponseDto> searchBoards(@RequestParam(value = "query") String query) {
return boardService.searchBoards(query);
}
@GetMapping("/board/{id}")
public BoardDetailResponseDto getBoard(@PathVariable long id) {
return boardService.getBoard(id);
}
@PutMapping("/board/{id}")
public BoardResponseDto updateBoard(@PathVariable long id, @RequestBody BoardRequestDto requestDto, @AuthenticationPrincipal UserDetailsImpl userDetails) {
return boardService.updateBoard(id, requestDto, userDetails.getUser());
}
@DeleteMapping("/board/{id}")
public ResponseEntity<MessageResponseDto> deleteBoard(@PathVariable long id, @AuthenticationPrincipal UserDetailsImpl userDetails) {
return boardService.deleteBoard(id, userDetails.getUser());
}
@PostMapping("/board/like/{id}")
public ResponseEntity<MessageResponseDto> likeBoard(@PathVariable long id, @AuthenticationPrincipal UserDetailsImpl userDetails) {
return boardService.likeBoard(id, userDetails.getUser().getId());
}
@PostMapping("/board/status/{id}")
public ResponseEntity<MessageResponseDto> statusChangeBoard(@PathVariable long id, @RequestBody BoardRequestDto requestDto, @AuthenticationPrincipal UserDetailsImpl userDetails) {
return boardService.statusChangeBoard(id, requestDto, userDetails.getUser());
}
}
게시글 부분은 꽤나 여러번 했던 부분이기 때문에 빠르게 넘어가고 리엑트로 결합 해볼 때 다시 확인을 해보고 문제가 있으면 수정할 예정!