Skip to content

Latest commit

ย 

History

History
92 lines (75 loc) ยท 2.42 KB

@RequestMapping.md

File metadata and controls

92 lines (75 loc) ยท 2.42 KB

1.@RequestMapping

 Spring MVC์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์• ๋…ธํ…Œ์ด์…˜์œผ๋กœ, HTTP ์š”์ฒญ์„ ํŠน์ • ํ•ธ๋“ค๋Ÿฌ ๋ฉ”์„œ๋“œ์™€ ๋งคํ•‘ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
 ์ด๋ฅผ ํ†ตํ•ด ํŠน์ • URL ํŒจํ„ด, HTTP ๋ฉ”์„œ๋“œ, ์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ ๋“ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ ์ ˆํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
@Controller
public class MyController {

    @RequestMapping("/hello")
    @ResponseBody
    public String sayHello() {
        return "Hello, World!";
    }
}

2.@RequestMapping ์—ญํ• ,์˜ˆ์‹œ

2-1.URL ๋งคํ•‘

 ํŠน์ • URL ํŒจํ„ด์„ ํ•ธ๋“ค๋Ÿฌ ๋ฉ”์„œ๋“œ์— ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค.

 
 /hello ๊ฒฝ๋กœ๋กœ ๋งคํ•‘ํ•œ๋‹ค.
@Controller
public class MyController {

    @RequestMapping("/hello")
    @ResponseBody
    public String sayHello() {
        return "Hello, World!";
    }
}

2-2.HTTP ๋ฉ”์„œ๋“œ ๋งคํ•‘

 GET, POST, PUT, DELETE ๋“ฑ ํŠน์ • HTTP ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด ํ•ธ๋“ค๋Ÿฌ ๋ฉ”์„œ๋“œ๋ฅผ ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค.

 
 /hello ๊ฒฝ๋กœ์— ๋Œ€ํ•ด GET ์š”์ฒญ๊ณผ POST ์š”์ฒญ์„ ๊ฐ๊ฐ ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ์™€ ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค.
@Controller
public class MyController {

    @RequestMapping(value = "/hello", method = RequestMethod.GET)
    @ResponseBody
    public String handleGetRequest() {
        return "Handling GET request";
    }

    @RequestMapping(value = "/hello", method = RequestMethod.POST)
    @ResponseBody
    public String handlePostRequest() {
        return "Handling POST request";
    }
}

2-3.ํŒŒ๋ผ๋ฏธํ„ฐ ๋งคํ•‘

 ํŠน์ • ์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ•ธ๋“ค๋Ÿฌ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.


 name ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์™€ ์—†๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ฐ๊ฐ ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ์™€ ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค.
@Controller
public class MyController {

    @RequestMapping(value = "/greet", params = "name")
    @ResponseBody
    public String greetUser(@RequestParam("name") String name) {
        return "Hello, " + name;
    }

    @RequestMapping(value = "/greet", params = "!name")
    @ResponseBody
    public String greetAnonymous() {
        return "Hello, Anonymous";
    }
}

2-4.ํ—ค๋” ๋งคํ•‘

 ํŠน์ • ์š”์ฒญ ํ—ค๋”๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ•ธ๋“ค๋Ÿฌ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.
@Controller
public class MyController {

    @RequestMapping(value = "/headerTest", headers = "X-Custom-Header=foo")
    @ResponseBody
    public String handleHeader(@RequestHeader("X-Custom-Header") String headerValue) {
        return "Header value is " + headerValue;
    }
}