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

조회수 2277회

안녕하세요 선배님들..

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

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)