적합하지 않거나(illegal) 적절하지 못한(inappropriate) 인자를 메소드에 넘겨주었을 때 발생
실제 값이 아닌 null을 가지고 있는 객체/변수를 호출할 때 발생하는 예외
POST | PUT | PATCH |
---|---|---|
데이터를 새로 생성할 때 쓰는 메서드 | 데이터 전체를 전부 수정할 때 쓰는 메서드 | 데이터 일부를 수정할 때 쓰는 메서드 |
좋아요를 누르면 post 테이블의 likeCount가 +1 되고,
좋아요를 처음 누른다면 postlike 레포지토리에 새로운 데이터를 추가하거나, 원래 있던 데이터의 false를 true로 바꾼다.
URL 표현을 통해서 put이 나은지 post가 나은지 판단해서 사용하면 된다.
update도 있고 create도 있다고 한다면 우선순위 비즈니스 로직이 무엇인지 고려해서 결정하면 된다.
좋아요 삭제의 경우에는 post보다 put이 더 적합할 것이다.
put은 들어왔던 body를 그대로 매핑하는 개념이다.
patch는 특정 칼럼만 update 하는 경우에 사용한다.
method를 put을 하던, patch를 하던
내부 로직에서 어떻게 돌아가는지 외부에서는 모르기 때문에 상관이 없다.
post만 쓰는 경우도 있다 !
무슨 요청을 하는지 모르게 하기 위해서 이다.
내부 로직은 외부에서 몰라야 해! 라고 하면 post로 다 해버리는 경우도 있다.
어떤 메소드를 다 써도 될 것이다.
requestBody가 없는 경우는 거의 없어서, 특정 행위를 할 때, requestbody에 있는걸 설정해줘! 하는 경우가 많다 보니 실제로 patch는 잘 사용하지 않는다.
그러면 일반적으로 post_id가 body로 전달되나 ?
이렇게 하면 보안적으로 취약하기 때문에, body로 전달하기도 한다.
아래 링크를 참고해서 더 공부해보자 !