๐[Spring] Mapping ์ ๋ ธํ ์ด์ ์ด๋?
Mapping์ด๋?
์น์์ ๋งคํ์ด๋ ํด๋น ๊ฐ์ด ๋ค๋ฅธ ๊ฐ์ ๊ฐ๋ฆฌํค๋๋ก ํ๋ ๊ฒ
์ด๋ค.
์๋ฅผ๋ค์ด, http://localhost:8080/web.html ์ด๋ผ๋ ํ์ด์ง๋ฅผ ๋ง๋ค์๋ค๊ณ ํ๋ฉด ์ด url์ด ๊ทธ๋๋ก ๋
ธ์ถ๋๊ฒ ๋๋ค.
๊ทธ๋ ๊ฒ๋๋ฉด ๋ณด์์ ๋งค์ฐ ์ทจ์ฝํ ์ ์๋ค.
์ด๋ฐ ์ทจ์ฝ์ ์ ๋ฐฉ์งํ๊ธฐ ์ํด web.html์ด ์๋ w์ด web.html๊ณผ ๊ฐ๋ค๊ณ ์ค์ ํ์ฌ ๋ณด์์ฑ์ ๋์ผ ์ ์๋ค.
Spring์์ ์ฌ์ฉํ๋ ๋งคํ ์ ๋ ธํ ์ด์
๋ณธ๊ฒฉ์ ์ผ๋ก ๋งคํ ์ ๋ ธํ ์ด์ ๋ค์ ๋ํด ์์ฑํ๋ค.
@RequestMapping
์์ฒญ URL์ ์ด๋ค ๋ฉ์๋๊ฐ ์ฒ๋ฆฌํ ์ง ๋งคํํด์ฃผ๋ ์ ๋
ธํ
์ด์
์ด๋ค.
url๋ณ๋ก ๋ค๋ฅด๊ฒ ์์ฒญ์ด ๋ค์ด์ค๋ฉด ๋ค๋ฅธ ์ฒ๋ฆฌ๋ฅผ ํด์ผํ๋ ๊ฒ์ด ๋น์ฐํ๋ค.
~/hello/junho
์ ๊ฐ์ ์์ฒญ๊ณผ /hi/kong
์ ์์ฒญ์ ์์ฐํ ๋ค๋ฅด๋ค.
/hello
์ /hi
๋ก ์์ํ๋ ์์ฒญ์ ๊ฐ๊ฐ ์ฒ๋ฆฌํ๊ธฐ ์ํด @RequestMapping์ ์ฌ์ฉํ๋ค.
@GetMapping
Http Method์๋ CRUD๋ฅผ ์ํ GET, POST, PUT, DELETE๊ฐ ์กด์ฌํ๋ค.
@GetMapping์ ์ด ์ค์ Get Method ์ญํ ์ ์ํํ๋ค.
@GetMapping์ด ๋ถ์ ๋ฉ์๋๋ ์์ฒญ์ ๋ํ ๊ฐ์ ์กฐํ
ํ๋ ์ญํ ์ ์ํํ๋ค.
[์์ ์ฝ๋]
@GetMapping("/")
public String list(Model model) {
List<BoardDto> boardDtoList = boardService.getBoardlist();
model.addAttribute("boardList", boardDtoList);
return "board/list.html";
}
@PostMapping
@PostMapping์ ๋น์ฐํ Post Method ์ญํ ์ ์ํํ๋ค.
@PostMapping์ด ๋ถ์ ๋ฉ์๋๋ ์์ฒญ์ ๋ํด ๊ฐ์ ์์ , ์ญ์ ๋ฑ์ ์์
์ ์ํํ ์ ์๋ค.
[์์ ์ฝ๋]
@PostMapping("/post")
public String write(BoardDto boardDto) {
boardService.savePost(boardDto);
return "redirect:/";
}
@PutMapping
@PutMapping์ Put Method ์ญํ ์ ์ํํ๊ณ , Put์ ๋ฐ์ดํฐ ์์ ์ ์ํด ์ฌ์ฉํ๋ค.
ํ์ง๋ง ๋ณด์์์ ์ด์ ๋ก Put๋ฉ์๋๋ณด๋จ Post๋ฉ์๋๋ฅผ ์ ํธํ๋ค๊ณ ํ๋ค.
[์์ ์ฝ๋]
@PutMapping("/post/edil/{no}")
public String update(BoardDto boardDto) {
boardService.savePost(boardDto);
return "redirect:/";
}
@DeleteMapping
@DeleteMapping๋ํ Delete Method ์ญํ ์ ์ํํ๋ฉฐ, ๋ฐ์ดํฐ์ ์ญ์ ๋ฅผ ๋ด๋นํ๋ค.
Delete๋ Post๋ก ๋์ฒด ๊ฐ๋ฅํ๋ฉฐ, ๋ณด์์์ ์ด์ ๋ก Post๋ฅผ ์ ํธํ๋ค๊ณ ํ๋ค.
[์์ ์ฝ๋]
@DeleteMapping("/post/{no}")
public String delete(@PathVariable("no") Long id) {
boardService.deletePost(id);
return "redirect:/";
}
๋๊ธ๋จ๊ธฐ๊ธฐ