08. Request Mapping
URL ์์ฒญ์ ์ฒ๋ฆฌํ ์ปจํธ๋กค๋ฌ๋ฅผ ๋งคํํ ๋ ์ฐ๋ ์คํ๋ง ๊ธฐ๋ฅ๋ค์ ์์๋ณด์.
ย ย ๐๐ปโโ๏ธ ย ๋ค์ด๊ฐ๊ธฐ ์ ์, @Controller ์ @RestController ๋?
ย ย ๐ก ์คํ๋ง์์๋ ํด๋์ค ๋จ์์ @Controller ์ด๋ ธํ ์ด์ ์ ๋ถ์ฌ๋๋ฉด ์ปจํธ๋กค๋ฌ ์ญํ ์ ํ๋ ํด๋์ค๋ก ์ธ์ํ๋ค !
์ด๋ ธํ ์ด์ | ์ค๋ช |
---|---|
@Controller | ๋ฉ์๋์ ๋ฐํ๊ฐ์ด String์ด๋ฉด ๋ทฐ ๋ค์์ผ๋ก ์ธ์ํ๋ค. |
@RestController | ๋ฐํ ๊ฐ์ผ๋ก ๋ทฐ๋ฅผ ์ฐพ๋ ๊ฒ์ด ์๋, HTTP ๋ฉ์์ง ๋ฐ๋์ ๋ฐํ ๊ฐ์ ๋ฐ๋ก ์ ๋ ฅํ๋ค. |
1๏ธโฃ ย HTTP ๋ฉ์๋ ๋งคํ
์ด๋ ธํ ์ด์ | ์ค๋ช | ์ข ๋ฅ |
---|---|---|
@RequestMapping | (value) ์ ๋ค์ด๊ฐ๋ URL๊ฒฝ๋ก์ ๋ฉ์๋๋ฅผ ๋งคํํ๋ค. HTTP ๋ฉ์๋๋ฅผ ์ถ์ฝํ ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ง๊ด์ ์ด๋ค. | @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping |
@PathVariable | URL์ ์์ฒญ ํ๋ผ๋ฏธํฐ๋ก ๋์ด์ค๋ ๊ฐ์ ์ฝ์ด๋ค์ผ ์ ์๋ค. ๋ณ์๋ช ๊ณผ ํ๋ผ๋ฏธํฐ๋ช ์ด ๊ฐ์ผ๋ฉด ()์์ ํ๋ผ๋ฏธํฐ๋ช ์ ์๋ตํ ์ ์๋ค. | - |
ย ๐ฑ ย @RequestMapping
@RestController
public class MappingController {
@RequestMapping(value = "/hello-basic", method = RequestMethod.GET)
public String helloBasic() {
log.info("helloBasic");
return "ok";
}
}
@RestController
@RequestMapping("/mappings/users")
public class MappingClassController {
@GetMapping
public String users() {
return "get users";
}
@PostMapping
public String addUser() {
return "post user";
}
}
ย ๐ฑ ย @PathVariable
@RestController
public class MappingController {
@GetMapping("/mapping/{userId}")
public String mappingPath(@PathVariable("userId") String data) {
log.info("mappingPath userId = {}", data);
return "ok";
}
//๋ค์ค์ฌ์ฉ๋ ๊ฐ๋ฅํ๋ค.
@GetMapping("/mapping/{userId}/orders/{orderId}")
public String mappingPath(@PathVariable String userId, @PathVariable String orderId) {
log.info("mappingPath userId = {}, orderId = {}", userId, orderId);
return "ok";
}
}