Spring @PathVariable과 @RequestMapping 질문드립니다.


안녕하세요 선배님들..

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함수로만 간다는 보장이 없어서 사용해야 할지 모르겠습니다..


조회수 144


1 답변


좋아요
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

  • 2016년 09월 02일에 작성됨
    Software Engineer

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close