Spring MVC์์ ์ฌ์ฉ๋๋ ์ ๋
ธํ
์ด์
์ผ๋ก, HTTP ์์ฒญ์ ํน์ ํธ๋ค๋ฌ ๋ฉ์๋์ ๋งคํํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
์ด๋ฅผ ํตํด ํน์ URL ํจํด, HTTP ๋ฉ์๋, ์์ฒญ ํ๋ผ๋ฏธํฐ ๋ฑ์ ๊ธฐ๋ฐ์ผ๋ก ์ ์ ํ ๋ฉ์๋๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค.
@ Controller
public class MyController {
@ RequestMapping ("/hello" )
@ ResponseBody
public String sayHello () {
return "Hello, World!" ;
}
}
2.@RequestMapping ์ญํ ,์์
ํน์ 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" ;
}
}
ํน์ ์์ฒญ ํ๋ผ๋ฏธํฐ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ง ํธ๋ค๋ฌ ๋ฉ์๋๋ฅผ ํธ์ถํฉ๋๋ค.
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" ;
}
}
ํน์ ์์ฒญ ํค๋๊ฐ ์๋ ๊ฒฝ์ฐ์๋ง ํธ๋ค๋ฌ ๋ฉ์๋๋ฅผ ํธ์ถํฉ๋๋ค.
@ 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 ;
}
}