1. (Mission 수행)기존 Board 테이블 글 삭제 기능에 패스워드 일치시 삭제가능하게 하자
BoardController.java
//5 글 삭제 기능: 패스워드 일치하면 삭제처리 되도록
/*
DELETE /board/{id} 고쳐서.
isDel 컬럼을 업데이트하는
비즈니스 로직은 그대로 가져감.
패스워드 일치: json response 아래처럼 나오도록
{
“success”: true,
“message”: “success to delete board id {id}”
}
패스워드 일치하지 않으면
아래 json response 나오도록
{
“success”: false,
“message”: “password incorrect in board id {id}”
“data”: null
}
*/
@DeleteMapping(value = "/{id}")
public ApiResponse<BoardDTO> updateIsDelBoardById(@PathVariable int id,
@RequestBody BoardDTO boardDTO) throws Exception {
return boardService.updateIsDelBoardById(id, boardDTO);
}
BoardDAO.java
int updateIsDelBoardById(int id);
BoardService.java
- 글 수정 기능과 같은 방법으로 패스워드 일치시 글 삭제가 되도록 함
// Board테이블의 isDel 컬럼의 데이터를 'Y' 로 업데이트
public ApiResponse<BoardDTO> updateIsDelBoardById(int id, BoardDTO boardDTO) {
BoardDTO selectedData = boardDAO.getBoardById(id);
String userInputPassword = boardDTO.getPassword();
if (userInputPassword.equals(selectedData.getPassword())) {
int updatedRow = boardDAO.updateIsDelBoardById(id);
if (updatedRow > 0) {
return new ApiResponse(true, "success to delete board id " + id);
}
}
return new ApiResponse(false, "password incorrect in board id " + id);
}
BoardMapper.xml
<update id="updateIsDelBoardById" parameterType="int">
UPDATE BOARD
SET isDEL = 'Y'
WHERE id = #{id}
</update>
postman
- 패스워드가 일치할시 글의 삭제를 의미하는 isDel 컬럼의 값이 'Y'로 수정됨
'Springboot' 카테고리의 다른 글
2021-10-06 (Springboot - comment테이블 - 댓글 쓰기 수정) (0) | 2021.10.06 |
---|---|
2021-10-05 (Springboot - Board테이블 - 글 전체보기 수정 ) (0) | 2021.10.05 |
2021-10-05 (Springboot - Board테이블 - 글수정기능(패스워드 일치) ) (0) | 2021.10.05 |
2021-10-05 (Springboot - comment테이블 - 댓글 쓰기 ) (0) | 2021.10.05 |
2021-10-01 (Springboot - comment테이블 - 댓글 목록 불러오기 ) (0) | 2021.10.01 |