천상나타의 일상다반사

닫기 검색결과 전체 보기

    [스프링] @RequestParam에 대한 이해 - parameter를 쉽게 컨트롤하기

    IT/Spring 2018. 4. 18. 12:16

    럭키-[이모티콘]어밴드

     

    스프링에서는 컨트롤러로 사용할 클래스 상단에 @Controller 지정하며

    유용하게 사용할수 있는 기능들이 있다.

    그중에 @RequestParam에 대해서 알아볼까합니다.

     

    1. 단일 파라미터 변환

    private ModelAndView request_TEST(@RequestParam("test") int num,
    @RequestParam("test2") String str)){
    //위처럼 하나이상의 타입을 적용할수 있습니다. 스프링에서 지원하는 변환기에서 지원되는 모든타입을 변환가능합니다.
    //RequestParam은 하나이상 파라미터에서 사용가능합니다.
    }
    

     

     

    참편리하죠? 하지만 단점이 있습니다.

    위처럼 사용하게 된다면 만약에 넘어오는 requestParam중에

    @RequestParam 지정한 키값이 존재하지 않다면

    BadRequest로 http 4** 에러가 발생합니다.

     

    2. 이를 방지하기 위하여 필수적이지 않도록 

    그리고 존재하지 않다면 DefaultValue를 지정할수 있습니다.

    private ModelAndView request_TEST(@RequestParam(value="test", required=false, defaultValue= "0") int num,
    	@RequestParam("test2") String str)){
    //required=false로 지정하면 해당 키값이 존재하지 않다고 해서 BadRequest가 발생하지 않게 됩니다.
    //그리고 존재하지 않다면 num변수에 default로 0이 들어가게됩니다.
    }
    

     

     

    파라미터가 많아지게 되면 일일이 파라미터를 지정하는게 귀찮아 집니다.

    이를 Map으로 간단하게 받아올수 있습니다.

     

    3. RequestParam을 map에 지정하여 사용하기.

    private ModelAndView request_TEST(@RequestParam HashMap<string,string> paramMap)){
    		String data = paramMap.get("testParam");
    }
    

    위의 예시처럼 map을 통해서도 파라미터를 컨트롤 할수 있습니다.

    대규모의 파라미터를 받는데 map을 사용하기엔 편하지만

    개발한 이외의 사람들이 유지보수하기에는 어려운 점이 있습니다.

    그래서 주로 "커맨드패턴"인 데이터커맨드를 만들서 사용하는데요.

     

    4. 데이터 커맨드 사용하여 파라미터 변환하기.

    (Spring) 데이터 커맨드 객체.

    @ModelAttribute - 데이터커맨드 손쉽게 사용하기 (alias 주기)

    데이터 커맨드에 대해서는 위의 링크에서 자세히 설명하였습니다.

     

     

    지난 포스트가 궁금하시다면 

    ↓↓↓ 아래 링크를 클릭해주세요. ↓↓↓↓

    [스프링] Context의 등록되는 빈의 순서를 정하자 - @DependsOn

     

    다음 포스트가 궁금하시다면 

    ↓↓↓ 아래 링크를 클릭해주세요. ↓↓↓↓

     

    '공감'버튼 및 '좋아요'는 글쓴이에게 큰 힘이 됩니다!

    (클릭)블로그 구독도 부탁드립니다.(네이버이웃 추가)

     

     

    'IT > Spring' 카테고리의 다른 글

    [스프링] Context의 등록되는 빈의 순서를 정하자 - @DependsOn  (0) 2019.05.02
    메이븐 pom.xml에 프로젝트 이력(회사,개발자)을 기록하는 법  (0) 2018.08.16
    [SPRING]@Slf4j을 통하여 로그설정방법.  (1) 2018.02.22
    (Spring) @ModelAttribute - 데이터커맨드 손쉽게 사용하기 (alias 주기)  (0) 2017.12.11
    (Spring) 데이터 커맨드 객체.  (0) 2017.12.11

    'IT/Spring' 관련 글 more
    • thumbnail
      [스프링] Context의 등록되는 빈의 순서를 정하자 - @DependsOn 2019.05.02
    • thumbnail
      메이븐 pom.xml에 프로젝트 이력(회사,개발자)을 기록하는 법 2018.08.16
    • thumbnail
      [SPRING]@Slf4j을 통하여 로그설정방법. 2018.02.22
    • thumbnail
      (Spring) @ModelAttribute - 데이터커맨드 손쉽게 사용하기 (alias 주기) 2017.12.11
    Posted by 천상나타

Google Translate

Naver Neighborhood

    최근...

  • 포스트
  • 댓글
  • 더 보기

글 보관함

«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

카테고리

분류 전체보기 (393)
IT (130)
JAVA (19)
JSP (5)
NoSql (8)
Linux (5)
javaScript (13)
Oracle (7)
MySql (2)
Android (1)
Spring (8)
Server (19)
System (13)
Tool (30)
공부자료(비공개) (0)
일상 (258)
맛집 (69)
해외여행 (31)
국내여행 (21)
우리집 고양이 쪼꼬 (4)
디저트&야식 (49)
영화 후기 (2)
제품리뷰 (5)
추천노래 (3)
취미 (74)
다이어트 (0)
유용한정보 (5)
블로그팁 (4)
지역정보 (1)

카운터

Total
Today
Yesterday
  • 네이버 이웃추가
  • 방명록
천상나타's Blog is powered by daumkakao
Skin info material T Mark 5+ by 뭐하라
favicon

천상나타의 일상다반사

IT정보공유 및 일상다반사

  • 네이버 이웃추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (393)
    • IT (130)
      • JAVA (19)
      • JSP (5)
      • NoSql (8)
      • Linux (5)
      • javaScript (13)
      • Oracle (7)
      • MySql (2)
      • Android (1)
      • Spring (8)
      • Server (19)
      • System (13)
      • Tool (30)
      • 공부자료(비공개) (0)
    • 일상 (258)
      • 맛집 (69)
      • 해외여행 (31)
      • 국내여행 (21)
      • 우리집 고양이 쪼꼬 (4)
      • 디저트&야식 (49)
      • 영화 후기 (2)
      • 제품리뷰 (5)
      • 추천노래 (3)
      • 취미 (74)
      • 다이어트 (0)
    • 유용한정보 (5)
      • 블로그팁 (4)
      • 지역정보 (1)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바