@RequestMapping 주석의 경로 속성과 값 속성의 차이
다음 두 가지 속성의 차이점은 무엇입니까?또한 어떤 속성을 언제 사용해야 합니까?
@GetMapping(path = "/usr/{userId}")
public String findDBUserGetMapping(@PathVariable("userId") String userId) {
return "Test User";
}
@RequestMapping(value = "/usr/{userId}", method = RequestMethod.GET)
public String findDBUserReqMapping(@PathVariable("userId") String userId) {
return "Test User";
}
코멘트(및 문서)에 기재된 바와 같이value
에일리어스입니다.path
봄은 종종 선언한다.value
일반적으로 사용되는 요소에 대한 별칭으로 사용됩니다.의 경우@RequestMapping
(그리고@GetMapping
, ...) 이것은path
속성:
이것은 의 에일리어스입니다.예를 들어,
@RequestMapping("/foo")
와 동등하다@RequestMapping(path="/foo")
.
이 배경의 근거는, 이 모든 것이value
주석의 경우 요소가 기본이므로 코드를 보다 간결하게 작성할 수 있습니다.
그 외의 예는 다음과 같습니다.
@RequestParam
(value
→name
)@PathVariable
(value
→name
)- ...
단, 예에서 설명한 것처럼 에일리어스는 주석 요소에만 국한되지 않습니다.@GetMapping
의 에일리어스입니다.@RequestMapping(method = RequestMethod.GET
).
코드에서 참조를 찾는 것만으로, 이러한 작업이 빈번하게 행해지고 있는 것을 알 수 있습니다.
@GetMapping
의 줄임말이다@RequestMapping(method = RequestMethod.GET)
.
당신의 경우. @GetMapping(path = "/usr/{userId}")
의 줄임말이다@RequestMapping(value = "/usr/{userId}", method = RequestMethod.GET)
.
둘 다 동등합니다.속기 사용 선호@GetMapping
좀 더 장황한 대안에 대해서요당신이 할 수 있는 한 가지 일은@RequestMapping
할 수 없는 일@GetMapping
는 복수의 요구 방식을 제공하는 것입니다.
@RequestMapping(value = "/path", method = {RequestMethod.GET, RequestMethod.POST, RequestMethod.PUT)
public void handleRequet() {
}
사용하다@RequestMapping
여러 개의 HTTP 동사를 제공해야 할 때 사용합니다.
의 다른 사용법@RequestMapping
는 컨트롤러의 최상위 경로를 제공해야 하는 경우입니다.예를 들어,
@RestController
@RequestMapping("/users")
public class UserController {
@PostMapping
public void createUser(Request request) {
// POST /users
// create a user
}
@GetMapping
public Users getUsers(Request request) {
// GET /users
// get users
}
@GetMapping("/{id}")
public Users getUserById(@PathVariable long id) {
// GET /users/1
// get user by id
}
}
@GetMapping은 @RequestMapping의 별칭입니다.
@GetMapping은 @RequestMapping(메서드=RequestMethod)의 바로 가기 역할을 하는 구성된 주석입니다.GET)
value method는 경로 방식의 별칭입니다.
path()의 에일리어스입니다.예를 들어 @RequestMapping("/foo")은 @RequestMapping(path="/foo")과 동일합니다.
그래서 두 방법 모두 그런 면에서 비슷합니다.
언급URL : https://stackoverflow.com/questions/50351590/difference-between-path-and-value-attributes-in-requestmapping-annotation
'programing' 카테고리의 다른 글
Orderby는 ng-repeat의 dict 구문을 사용하지 않습니다. (0) | 2023.02.23 |
---|---|
생성자에서 상태를 정의하는 것이 좋습니까, 아니면 속성 이니셜라이저를 사용하는 것이 좋습니까? (0) | 2023.02.23 |
JSON 옥텟이란 무엇이며, 2개가 필요한 이유는 무엇입니까? (0) | 2023.02.23 |
Object.entries가 아닌 오브젝트에 대해 반복할 수 있는 올바른 방법 (0) | 2023.02.23 |
Python의 목록 메서드 append와 extend의 차이점은 무엇입니까? (0) | 2023.01.28 |