180112 Spring @RequestMapping - RYUDONGJIN/Memo_wiki GitHub Wiki
@RequestMapping
- URL์ ์ปจํธ๋กค๋ฌ์ ๋ฉ์๋์ ๋งคํํ ๋ ์ฌ์ฉํ๋ ์คํ๋ง ํ๋ ์์ํฌ์ ์ด๋ ธํ ์ด์
- ํด๋์ค๋ ๋ฉ์๋ ์ ์ธ๋ถ์ @RequestMapping๊ณผ ํจ๊ป URL์ ๋ช ์ํ์ฌ ์ฌ์ฉ
- ๋ฉ์๋ ๋ ๋ฒจ์์ ์ ์ํ @RequestMapping์ ํ์ ๋ ๋ฒจ์์ ์ ์๋์ด @RequestMapping์ ์ต์ ์ ์์๋ฐ์
- ๋ฉ์๋ ๋ด์์ viewName์ ๋ณ๋๋ก ์ค์ ํ์ง ์์ผ๋ฉด @RequestMapping์ path๋ก ์ค์ ํ URL์ด ๊ทธ๋๋ก viewName์ผ๋ก ์ค์
options
path(ํน์ value) : ์์ฒญ๋ URL์ ๋ฐ๋ผ ๋งคํ
@RequestMapping(path = { "/addMovie.do", "/updateMovie.do" })
public String myMethod() {
// "/addMovie.do", "/updateMovie.do" ๋ URL ๋ชจ๋ ์ฒ๋ฆฌํ๋ค.
}
์์ฑ๋ช ์ ์๋ตํ๊ณ @RequestMapping("/addMovie.do")์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
method : GET, POST, PUT, DELETE ๊ฐ์ HTTP Request method์ ๋ฐ๋ผ ๋งคํ์ ๊ฒฐ์ . ๊ฐ์ enum ํ์ ์ธ RequestMethod.
@RequestMapping(method = RequestMethod.POST)
public String myMethod() {
// ...
}
params : ์์ฒญ๋ ํ๋ผ๋ฏธํฐ์ ๋ฐ๋ผ ๋งคํ
@RequestMapping(params = {"param1=a", "param2", "!myParam"})
public String myMethod() {
// ...
}
headers : ํน์ ํค๋์ ๊ฐ์ ๋ฐ๋ผ ๋งคํ. ์์ผ๋ ์นด๋ ํํ(*)๋ ์ง์
@RequestMapping(path = "/movie.do", headers = "content-type=text/*")
public String myMethod() {
// ...
}
HTTP Request์ Content-Type ํค๋ ๊ฐ์ด "text/html", "text/plain" ๋ชจ๋ ๋งค์นญ์ด ๋๋ค.
produces TODO
@RequestMapping(path = "...", produces = "application/json")
@RequestBody
public HashMap<String, String> testMethod(Model model) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("code", "0");
return map;
}