ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spring] return 타입 정리
    Web/Servlet && Spring 2019. 8. 25. 13:51

    리턴타입을

    String - view의 이름지정 리턴

    void - 요청url을 기반으로 view가 지정

    Model Object - Pojo클래스를 기반으로 view를 지정한다.

    스프링사용시에는 return 타입이 여러개이다. map의 경우 잘 사용하지 않고 그 외에 자주 사용하는 것을 정리해 보았다.

    @RequestMapping(value="/my/my_string.do", method=RequestMethod.GET)
    public String myString(Model model){//리턴 페이지를 명확하게 보여주는 방식
    	model.addAttribute("tok",new TokTok("my_string"));
    	return "my/my_string";
    }
    
    @RequestMapping(value="/my/my_modelAndView.do", method=RequestMethod.GET)
    public ModelAndView myString(){
    	ModelAndView mav= new ModelAndView();
    	mav.setViewName("my/my_modelAndView");
    	mav.addObject("tok",new TokTok("my_modelAndView"));
    	return mav; 
    }
    
    @RequestMapping(value="/my/my_void.do", method=RequestMethod.GET)
    public void myVoid(Model model){
    	model.addAttribute("tok",new TokTok("my_void"));
    }
    
    @RequestMapping(value="/my/my_toktok", method=RequestMethod.GET)
    public TokTok myTokTok(){
    	return new TokTok("my_toktok");
    }
    	
    @RequestMapping(value="/my/my_body", method=RequestMethod.GET)
    @ResponseBody
    public ResponseEntity<String> myBody(){//http body자체를 리턴해 주게 된다. xml, JSON, ajax등 원하는 형태로 리턴
    	//return type을 String으로
    	//아래 방법은 비동기에서 많이 사용한다.
    	HttpHeaders headers= new HttpHeaders();
    	headers.add("Content-Type", "text/html; charset=UTF-8");
    	
        //크롬에서는 태그가 적용되는데 내부 브라우저에서는 태그가 적용되지 않는다 
    	String html="<h2>hi. siri?</h2> \n <h2>시리</h2>"; 
    	return new ResponseEntity<String>(html, headers, HttpStatus.OK);
        //String으로 리턴하는데 html, header를 요청상태 200일때
    }

     

     

    반응형

    댓글

Designed by Tistory.