Spring @PathVariable과 @RequestMapping 질문드립니다.
조회수 2276회
안녕하세요 선배님들..
Spring을 사용하는데, PathVariable과 RequestMapping에 관해서 질문을 드릴게 있어서요..
@RequestMapping(value="/web/service/{serviceName}")
public ModelAndView webService(
@PathVariable("serviceName") String serviceName,
ModelMap map) {
.....
@RequestMapping(value="/web/service/test")
public ModelAndView test(
ModelMap map) {
.....
클래스에 이렇게 두개가 같이 있을때
localhost:8080/web/service/test 로 호출 호출 하면
항상 test함수로만 가는지 궁금합니다.
저 혼자 테스트를 해봤을때는 test함수로 항상 가는거 같은데
이게 항상 test함수로만 간다는 보장이 없어서 사용해야 할지 모르겠습니다..
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
localhost:8080/web/service/test 로 호출할 경우 항상 test메서드를 호출합니다.
대신 test 이외의 값이 입력된다면 webService 메서드를 호출하죠.
작성하신 코드를 볼 때, 리소스(URI)를 눈으로만 봤을 때 차이가 모호하므로 depth 를 주시거나, http methods 로 구분하여 역할에 맞게 호출하시는걸 추천합니다.
REST API 참고 및 예시
회원 정보 삭제 :
@DELETE /members/{id}
회원 정보 획득 :
@GET /members/{id}
회원 정보 입력 :
@POST /members/{id}
회원 전체의 정보 획득 :
@GET /members
댓글 입력