어노테이션 @GetMapping

김효중·2025년 7월 24일
post-thumbnail

스프링 전용 어노테이션 @GetMapping

//요청을 매핑" @GetMapping 메서드는 GET 요청만
@GetMapping("/hello")
public String hello() {
return "hello!";
}

@GetMappin @ResponseBody
브라우저나 클라이언트가 GET /hello 요청을 보내면
응답으로 반환

@GetMapping("/increase") GET 요청이 들어오면 이 메서드를 실행하겠다
@ResponseBody 메서드의 리턴값을 HTTP 응답 바디로 직접 사용하겠다
public int increase() {
return i++;
}
}

@ResponseBody 쓰는 경우
리턴값이 HTTP 응답 바디에 그대로 전달됨
@ResponseBody 안 쓰는 경우
리턴값은 "뷰(View)의 이름 hello.html 등을 찾아감

쿼리 파라미터 받기: @RequestParam
POST, PUT, DELETE 등 모든 HTTP 요청 방식에서 "쿼리 파라미터"를 받을 때 사용

@GetMapping("/id")
public String search(@RequestParam(defaultValue = "0") int id) {
return "id: " + id;
}

보일러플레이트 코드

반복적으로, 자동으로 작성되는 코드

롬복이 해주는 역할

  • @Getter 모든 필드에 getter 생성
  • @Setter 모든 필드에 setter 생성
  • @RequiredArgsConstructor final이나 @NonNull 필드로 생성자 생성
  • @ToString toString() 자동 생성 //출력할 때 가독성이 좋아짐

JSON (JavaScript Object Notation) 데이터 형식

"키": 값 속성 (Key-Value 쌍)
[] 배열 (List처럼 여러 값 저장)

HTTP 요청 방식(methods)

  1. GET
    읽기 전용 요청

URL에 파라미터 붙여서 전달 (/users?id=1)

  1. POST
    서버에 데이터 생성 요청

보통 요청 바디에 JSON 데이터 전송

  1. PUT
    전체 데이터를 통째로 갱신

해당 리소스가 없으면 생성까지 시도

  1. PATCH
    데이터의 일부분만 수정

예: 유저의 이메일만 바꿀 때

  1. DELETE
    자원 삭제 요청

예: /articles/3 → 3번 글 삭제

profile
안녕하세요

0개의 댓글