@RequestMapping컨트롤러 클래스 레벨에 붙여서 공통 URL을 정의함
@RestController
@RequestMapping("/api/v1/users") // 기본 경로
public class UserController {
// 핸들러 메서드 구성
}
@PostMapping, @GetMapping, … 등등핸들러 메서드에 붙어서 상세 URL을 정의함 (둘을 합쳐 엔드포인트 구성)
@RestController
@RequestMapping("/api/users") // 기본 경로
public class UserController {
@GetMapping("/{id}") // /api/users/{id}
public User getUser(@PathVariable Long id) {
return user;
}
@PostMapping // /api/users
public User createUser(@RequestBody User user) {
return savedUser;
}
}
기본 컨트롤러 URL을 상수화하면 외부 Config에서 재사용이 간편함
@RestController
@RequestMapping(UserController.BASE_URL) // 상수 사용
public class UserController {
public static final String BASE_URL = "/api/v1/users";
// ...핸들러 메서드 구성
}