board 를 수정하는 api를 만든다.
관례적으로 수정하는 http 메서드는 put 메서드를 사용한다. 무조건 put 메서드를 사용해야 하는것은 아니다. post 메서드를 사용한다고 해서 잘못된건 아니다. 왜냐하면 REST는 표준이 아니기 때문에. 그래서 수정할 때는 put을 사용하고 생성할 때는 post를 관례적으로 사용한다.
controller 구현
프로토콜 유알엘은 /api/board이고 메서드는 put, 입력은 json, 출력은 json이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
... static modifyBoard = async (req, res) => { const {id, title, content} = req.body; const updateOption = {}; if (title) { updateOption['title'] = title; } if (content) { updateOption['content'] = content; } const result = await getConnection().createQueryBuilder().update(Board) .set(updateOption) .where("id = :id", {id}) .execute(); res.send(result); } ... |
라우팅 모듈에 매핑을 추가한다.
1 2 3 4 5 |
... routes.put('/board', BoardController.modifyBoard); ... |
Test
postman으로 테스트한 결과는 다음과 같다.