반응형
1. 용도
HTTP 요청 URL과 특정 메서드를 매핑할 때 사용하는 어노테이션이다. 요청 URL을 매핑하는 것 외에도, HTTP 요청 방식(GET, POST 등)에 따라 매핑할 메서드를 선택할 수 있다.
2. RequsetMapping 이용
package test.day02.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
// 스프링 관리하는 IoC 컨테이너 빈[객체] 등록
@RestController // 서버로부터 HTTP 요청이 왔을 때 해당 클래스로 핸들러 매핑
@Slf4j // 스프링 로그 메소드 제공
// 로그 레벨: trace, debug, info, warn, error, fatal
public class MappingController2 {
// RequestMapping: value ="/url주소", method = "통신방식"
@RequestMapping( value = "/red", method = RequestMethod.GET)
public String getRed(){
log.info("클라이언트로부터 getRed메소드 요청 들어옴");
return "getRed() 정상 응답";
}
@RequestMapping( value = "/red", method = RequestMethod.POST)
public String postRed(){
log.info("클라이언트로부터 postRed메소드 요청 들어옴");
return "postRed() 정상 응답";
}
@RequestMapping( value = "/red", method = RequestMethod.PUT)
public String putRed(){
log.info("클라이언트로부터 putRed메소드 요청 들어옴");
return "putRed() 정상";
}
@RequestMapping( value = "/red", method = RequestMethod.DELETE)
public String deleteRed(){
log.info("클라이언트로부터 deleteRed메소드 요청 들어옴");
return "deleteRed() 정상";
}
}
3. GetMapping, PostMapping, PutMapping, DeleteMapping 이용
class 상단에 @RequestMapping을 이용하여 공통으로 사용하는 URL을 선언하여 사용하고, GetMapping, PostMapping, PutMapping, DeleteMapping을 이용하여 보다 편리하게 Mapping시킬 수 있다.
package test.day02.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
// 스프링 관리하는 IoC 컨테이너 빈[객체] 등록
@RestController // 서버로부터 HTTP 요청이 왔을 때 해당 클래스로 핸들러 매핑
@Slf4j // 스프링 로그 메소드 제공
// 로그 레벨: trace, debug, info, warn, error, fatal
@ RequestMapping("/color") // 공통 URL 매핑
public class MappingController4 {
// RequestMapping: value ="/url주소", method = "통신방식"
@GetMapping( value = "/pink")
public String getPink(){
log.info("클라이언트로부터 getPink메소드 요청 들어옴");
return "getPink() 정상 응답";
}
@PostMapping(value = "/pink")
public String postPink(){
log.info("클라이언트로부터 postPink메소드 요청 들어옴");
return "postPink() 정상 응답";
}
@PutMapping( value = "/pink")
public String putPink(){
log.info("클라이언트로부터 putPink메소드 요청 들어옴");
return "putPink() 정상";
}
@DeleteMapping( value = "/pink")
public String deletePink(){
log.info("클라이언트로부터 deletePink메소드 요청 들어옴");
return "deletePink() 정상";
}
}반응형
'SpringBoot' 카테고리의 다른 글
| SpringBoot - @Slf4j 이해 (0) | 2023.04.28 |
|---|---|
| SpringBoot - @Autowired 이해 (0) | 2023.04.28 |
| SpringBoot - @Controller, @RestController 비교 (0) | 2023.04.28 |
| Spirngboot - @Repository 기능 (0) | 2023.04.28 |
| SpringBoot - @ComponentScan 이해 (0) | 2023.04.28 |