diff --git a/src/main/java/com/rest/api/controller/v1/board/BoardController.java b/src/main/java/com/rest/api/controller/v1/board/BoardController.java index 86fde1c..365badc 100644 --- a/src/main/java/com/rest/api/controller/v1/board/BoardController.java +++ b/src/main/java/com/rest/api/controller/v1/board/BoardController.java @@ -28,6 +28,15 @@ public class BoardController { private final BoardService boardService; private final ResponseService responseService; + @ApiImplicitParams({ + @ApiImplicitParam(name = "X-AUTH-TOKEN", value = "로그인 성공 후 access_token", required = true, dataType = "String", paramType = "header") + }) + @ApiOperation(value = "게시판 생성", notes = "신규 게시판을 생성한다.") + @PostMapping(value = "/{boardName}") + public SingleResult createBoard(@PathVariable String boardName) { + return responseService.getSingleResult(boardService.insertBoard(boardName)); + } + @ApiOperation(value = "게시판 정보 조회", notes = "게시판 정보를 조회한다.") @GetMapping(value = "/{boardName}") public SingleResult boardInfo(@PathVariable String boardName) { @@ -44,7 +53,7 @@ public class BoardController { @ApiImplicitParam(name = "X-AUTH-TOKEN", value = "로그인 성공 후 access_token", required = true, dataType = "String", paramType = "header") }) @ApiOperation(value = "게시글 작성", notes = "게시글을 작성한다.") - @PostMapping(value = "/{boardName}") + @PostMapping(value = "/{boardName}/post") public SingleResult post(@PathVariable String boardName, @Valid @ModelAttribute ParamsPost post) { Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); String uid = authentication.getName(); diff --git a/src/main/java/com/rest/api/entity/board/Board.java b/src/main/java/com/rest/api/entity/board/Board.java index f090b81..6910897 100644 --- a/src/main/java/com/rest/api/entity/board/Board.java +++ b/src/main/java/com/rest/api/entity/board/Board.java @@ -1,14 +1,18 @@ package com.rest.api.entity.board; import com.rest.api.entity.common.CommonDateEntity; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import javax.persistence.*; +@Builder @Entity @Getter @NoArgsConstructor +@AllArgsConstructor public class Board extends CommonDateEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) diff --git a/src/main/java/com/rest/api/service/board/BoardService.java b/src/main/java/com/rest/api/service/board/BoardService.java index 7590521..a759ef7 100644 --- a/src/main/java/com/rest/api/service/board/BoardService.java +++ b/src/main/java/com/rest/api/service/board/BoardService.java @@ -26,6 +26,10 @@ public class BoardService { private final PostJpaRepo postJpaRepo; private final UserJpaRepo userJpaRepo; + public Board insertBoard(String boardName) { + return boardJpaRepo.save(Board.builder().name(boardName).build()); + } + // 게시판 이름으로 게시판을 조회. 없을경우 CResourceNotExistException 처리 public Board findBoard(String boardName) { return Optional.ofNullable(boardJpaRepo.findByName(boardName)).orElseThrow(CResourceNotExistException::new);