복붙노트

[SPRING] Spring - 어노테이션 기반 컨트롤러 - 쿼리 문자열을 기반으로하는 RequestMapping

SPRING

Spring - 어노테이션 기반 컨트롤러 - 쿼리 문자열을 기반으로하는 RequestMapping

Spring 어노테이션 기반 컨트롤러에서는 @RequestMapping을 사용하여 다른 쿼리 문자열을 다른 메서드에 매핑 할 수 있습니까?

예를 들어

@RequestMapping("/test.html?day=monday")
public void writeMonday() {
}


@RequestMapping("/test.html?day=tuesday")
public void writeTuesday() {
}

해결법

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

    1.예, params 요소를 사용할 수 있습니다.

    예, params 요소를 사용할 수 있습니다.

    @RequestMapping("/test.html", params = "day=monday")
    public void writeMonday() {
    }
    
    @RequestMapping("/test.html", params = "day=tuesday")
    public void writeTuesday() {
    }
    

    param의 유무에 따라 매핑 할 수도 있습니다.

    @RequestMapping("/test.html", params = "day")
    public void writeSomeDay() {
    }
    
    @RequestMapping("/test.html", params = "!day")
    public void writeNoDay() {
    }
    
  2. ==============================

    2.또는 다음과 같이 할 수 있습니다.

    또는 다음과 같이 할 수 있습니다.

    @RequestMapping("/test.html")
    public void writeSomeDay(@RequestParam String day) {
       // code to handle "day" comes here...
    }
    
  3. from https://stackoverflow.com/questions/454689/spring-annotation-based-controller-requestmapping-based-on-query-string by cc-by-sa and MIT license