@RequestParam

2024. 8. 4. 18:14SPRING/애노테이션

용도

url 등을 통해 값을 입력받을 때, url에 입력한 key = value 의 내용들을 개발 언어와 바인딩 해준다.

 

문법

컨트롤러 내 메서드 소괄호 내에 작성

(@RequestParam("key") String key)

 

보다 명확한 표기는 value =  을 명시하는 것이지만, 너무 자주 사용되서 생략 가능하다.

(@RequestParam(value = "key") String key) 

// url
// http://localhost:8080/request-param?param=바인딩하라

@GetMapping("requestparam")
    public void helloMVC(@RequestParam("param") String param) {
      	System.out.println(param);	// = 바인딩하라
    }

 

 

- Map<key, value> 사용 가능

장점 

- Map 자료를 적극 활용해 여러 값들을 담을 수도 있음.

@ResponseBody
    @GetMapping("map")
    public void requestParamMap(@RequestParam Map<String, String> map) {
        for (Map.Entry<String, String> entry : map.entrySet()) {
            System.out.println("키 : " + entry.getKey() + " 밸류: " + entry.getValue());
        }
    }

 

http://localhost:8080/map?123=11&432cc=55

// 결과
키 : 123 밸류: 11
키 : 432cc 밸류: 55

단점 

- uri 에 입력한 값이 아무거나 막 들어감. (통제가 어려움).

 

보완 방법

--- 아직 잘 모르겠음.

추후 추가 필요

 

 

접했던 문제

1. param 값 미입력으로 인한 에러

2. 접근 가능한 템플릿이 없어 발생하는 에러

 

'SPRING > 애노테이션' 카테고리의 다른 글

@ResponseBody  (0) 2024.08.05