05/05 면접 준비(SpringBoot), HTTP 요청

전성수·2025년 5월 5일

@GetMapping

  • HTTP GET 요청을 처리
  • 주로 데이터를 조회할 때 사용
  • 요청 데이터는 URL의 쿼리 파라미터로 전달되며, URL에 노출
  • 여러 번 요청해도 결과가 바뀌지 않는 idempotent한 작업에 적합
  • @GetMapping은 데이터를 URL의 쿼리스트링에 포함시켜 전송하므로, 요청 데이터(예: 아이디, 비밀번호 등)가 주소창이나 서버 로그, 브라우저 기록 등에 노출되어 보안에 취약

@PostMapping

  • HTTP POST 요청을 처리
  • 주로 데이터를 생성하거나 서버로 전송할 때 사용
  • 요청 데이터는 HTTP Body에 담겨 전송되어, URL에 노출되지 않음
  • 여러 번 요청하면 결과가 달라질 수 있는 non-idempotent 작업에 적합
  • @PostMapping은 데이터를 HTTP 요청의 Body에 담아 전송하므로, URL에 노출되지 않아 GET 방식보다 상대적으로 보안이 더 강함
  • POST 방식도 네트워크 구간에서 암호화(HTTPS)가 적용되지 않으면 데이터가 노출될 수 있으므로, 민감한 정보는 반드시 HTTPS와 함께 사용해야 안전

@PutMapping

  • 전체 리소스의 수정(덮어쓰기)에 주로 사용
  • 요청에 포함되지 않은 필드는 null이나 기본값으로 바뀔 수 있음.\
  • 기존 리소스의 모든 내용을 새 데이터로 완전히 대체

@PatchMapping

  • 리소스의 일부만 부분적으로 수정할 때 사용
  • 변경하고 싶은 필드만 요청에 포함시키면 해당 부분만 수정되고, 나머지 필드는 그대로 유지
profile
ㅡ/ㅡ

0개의 댓글