Day25

강태훈·2026년 2월 2일

nbcamp TIL

목록 보기
25/58

오늘 맞춤형 수업때 들은것 정리

Spring MVC에서 쓰이는 Annotation

@Controller

  • 이 클래스가 웹 요청을 처리하는 컨트롤러라고 Spring에 알림

@ResponseBody

  • 클래스 혹은 메서드의 반환값을 HTTP 응답 바디에 그대로 사용

@RestController

  • @Controller + @ResponseBody

@RequestMapping("/api/members")

  • 요청 매핑(url, http 매서드)
  • 쉽게 보면 url에 "/api/members" 붙어있을때

method = RequestMethod.POST

  • 특정 URL로 들어오는 요청의 방식(메서드)을 지정
  • {}를 사용하여 여러 메서드 지정

@GetMapping("/hello")
@PostMapping("/bye")

  • @~Mapping@RequestMapping을 감싼 어노테이션
  • Mapping 앞에 HTTP 메서드를 붙여서 사용

@ResponseBody

@GetMapping("/{id}")
public String getMemberProfile(@PathVariable Long id) {
	return "요청하신 " + id + "번 회원의 프로필을 조회 중입니다...";
}
  • @PathVariable이 주소창의 {id} 값을 낚채서 변수 id에 담아줍니다.
  • 쉽게 말해 URL 경로에 있는 값을 변수로 받음
  • url이 /hello/10이면 id = 10
  • 메서드 내에서 int id가 있어서 이미 변수로 사용된다면 @PathVariable("id") Long noid임을 ("id")로 표기하고 다르게 사용가능
@GetMapping("/search")
public String searchMember(String name, @RequestParam(required = false, defaultValue = "10") int age) {
    return name + "이라는 이름을 가진 회원들을 검색 중입니다..." + age + "세이시군요!";
}
  • @RequestParam이 url의 ?name= 뒤에 있는 값을 name 변수에 담아줍니다.
  • @RequestParam(required = false, defaultValue = "10") int age)
    • required = false: 필수는 아님
    • defaultValue = "10": 디폴트 값이 10
    • 쿠팡의 필터 같은 거
구분사용처
PathVariable경로 일부
RequestParam쿼리 스트링
@PostMapping("/signup")
public String signup(@RequestBody MemberSignupRequest request) {
	System.out.println("가입 요청 이메일: " + request.getEmail());
	return request.getNickname() + "님, 가입 신청이 완료되었습니다!";
}
  • @RequestBodyHTTP 요청 Body(JSON 등)를 자바 객체(Request DTO)로 변환해줍니다.

0개의 댓글