programing

다른 인수를 사용하여 동일한 URL 패턴에 대해 두 가지 메서드를 만듭니다.

powerit 2023. 3. 4. 15:13
반응형

다른 인수를 사용하여 동일한 URL 패턴에 대해 두 가지 메서드를 만듭니다.

하나의 URL "serachUser"에 2개의 다른 값(요구 파라미터) userId 또는 UserName이 붙는 시나리오가 있습니다.

이를 위해 두 가지 방법을 만들었습니다.

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

하지만 애매모호한 매핑 예외가 발견되고 있습니다.스프링이 이 상황을 감당할 수 있을까?

이 파라미터를 사용하여 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) {
  // ...
}

어떤 방법으로든 요청 파라미터의 null이 허용됩니다.어떤 값도 전달하지 않으면 null이 됩니다.그러면 다음과 같이 코드에 쓸 수 있습니다.

@RequestMapping(value = "/searchUser", params = {"userID","userName"})
public String searchUserById(@RequestParam long userID,@RequestParam String 
userName, 
Model model) {    
if(userID != null){
//..
}else{
// ...
}

언급URL : https://stackoverflow.com/questions/15853035/create-two-method-for-same-url-pattern-with-different-arguments

반응형