복붙노트

[SPRING] 서로 다른 인수를 갖는 동일한 URL 패턴에 대해 두 개의 메소드를 작성하십시오.

SPRING

서로 다른 인수를 갖는 동일한 URL 패턴에 대해 두 개의 메소드를 작성하십시오.

나는 하나의 url "serachUser"가 두 개의 서로 다른 값 (요청 파라미터) userId 또는 UserName을 가질 수있는 시나리오를 가지고있다.

그래서 저는 두 가지 방법을 만들었습니다.

public String searchUserById(@RequestParam long userID, Model model) 
public ModelAndView searchUserByName(@RequestParam String userName)

하지만 모호한 매핑이 예외가 발견되었습니다. Spring은 이런 상황을 처리 할 방법이있다.

해결법

  1. ==============================

    1.params 매개 변수를 사용하여 HTTP 매개 변수로 필터링 할 수 있습니다. 귀하의 경우 그것은 다음과 같을 것입니다 :

    params 매개 변수를 사용하여 HTTP 매개 변수로 필터링 할 수 있습니다. 귀하의 경우 그것은 다음과 같을 것입니다 :

    @RequestMapping(value = "/searchUser", params = "userID")
    public String searchUserById(@RequestParam long userID, Model model) {
      // ...
    }
    
    @RequestMapping(value = "/searchUser", params = "userName")
    public ModelAndView searchUserByName(@RequestParam String userName) {
      // ...
    }
    
  2. from https://stackoverflow.com/questions/15853035/create-two-method-for-same-url-pattern-with-different-arguments by cc-by-sa and MIT license