ੈ✩‧₊˚Computer Science/프론트엔드 | 백엔드

Controller parameter 정리 / 리턴 타입 정리

샨샨 2020. 11. 25. 22:37
반응형

controller parameter 정리

1. Request를 통해 파라미터 가져오기

@RequestMapping("/request")
	String temp1(HttpServletRequest request)
	{
		String a = request.getParameter("p1");
		String b = request.getParameter("p2");
		
		System.out.println("p1 : " + p1);
		System.out.println("p2 : " + p2);
		
		return "data";
	}

2.HttpServletRequest, HttpServletResponse 이용 (Servlet과 관련)

@RestController
public class SampleController {

  @GetMapping("/sample")
  public String hello(HttpServletRequest request, HttpServletResponse response){
    return "hello";
  }
}

3.MultipartRequest : 파일 업로드 시 이용

@RestController
public class Controller {

  @PostMapping("/home")
  public String hello(MultipartRequest request){
    return "hello";
  }
}

4.@RequestParam를 통한 직접 매칭

@RequestMapping( "/param")
	String temp3(@RequestParam("a") String a, @RequestParam("b") int b)
	{
		System.out.println("a : " + a);
		System.out.println("b : " + b);

		return "data";
	}

5.PathVariable 이용

@RequestMapping("/path/{home}/{home2}")
	String temp5(@PathVariable("home") String home, @PathVariable("home2") int home2){
		System.out.println(home);
		System.out.println(home2);
		return "data";
	}

6. @ModelAttribute 이용

@RequestMapping(value="/user/add", method=RequestMethod.POST)
public String add(@ModelAttribute User user) {
    userService.add(user);
    ...
}

Controller return type 

1.ModelAndView

@Controller public class HelloController { 
@RequestMapping("/hello") 
public ModelAndView hello() 
{ 
ModelAndView view = new ModelAndView();
view.setViewName("hello");
view.addObject("name", "Lim"); 
return view; 
} 
}

2.String

@Controller public class HelloController 
{
	@RequestMapping("/hello") 
    public String hello() { 
    return "hello"; 
    }

3. Void

- URL과 View이름을 통일해서 사용해야한다.

@Controller public class HelloController 
{ 
	@RequestMapping("/hello") 
    public void hello() 
    { 
    }
 }

4.@Responsebody

-return 값 : 단일 모델 오브젝트

@Controller public class HelloController 
{ 
	@RequestMapping("/hello") 
    @ResponseBody public String hello() 
    { 
    return "<html><body><h1>Hello, ResponseBody!</h1></body></html>"; 
    } 
}

 

반응형