본문 바로가기

SpringBoot

SpringBoot - @RequestMapping 활용

반응형

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' 카테고리의 다른 글