(TIL) 2024-11-29
HTTP Method
과제를 진행하면서 API를 만들때 어떤 메소드를 사용해야하는지, 큰 틀에서 보면 같은 조회 기능이라고 하지만 내부적으로 보면 다른경우가 있어 정말 GET을 해야하는지 판단이 안서고 했다. 수정 또한 PUT인지 PATCH인지 차이를 잘 모르고 일단 강의에 쓴 것 처럼 사용했다보니 확실히 알 필요가 있다고 생각하여 HTTP Method를 공부했다.
- GET
- 리소스 조회
- 주로 검색 및 목록에서 사용
- 쿼리 파라미터를 사용해서 데이터를 전달 (/api/sparta?key1=value)
- POST
- 요청 데이터 처리, 주로 등록에 사용 (CREATE)
- 바디(body)를 통해 서버로 요청 데이터 전달
- PUT
- 리소스를 수정하는 메소드 (전체)
- 만약 업데이트할 데이터가 없으면 새로 생성처리도 한다.
- 만약 특정 데이터의 일부만 서버로 보내게 되면 삭제되는 부분이 발생하기에 유의해야한다. (PATCH와의 차이)
- PATCH
- 리소스 일부 부분을 변경하는 메소드 (일부)
- PATCH를 사용 안하고 POST로 대체해서 사용하는 곳도 있다.
- DELETE
- 리소스 삭제 메소드
쉽게 정리하면 단순 조회는 GET을, 사용하고 데이터를 생성해야 하는 경우에는 POST를, 생성한 데이터를 전체 변경이 필요한 경우는 PUT을, 생성한 데이터중 일부만 변경해야 하는 경우는 PATCH를 사용한다. 다만 서버마다 Method룰이 달라 GET POST만 사용하는 곳도 있고 특정 메소드를 사용 안하는 곳도 있다.
This post is licensed under CC BY 4.0 by the author.