
- @Controller
클래스가 웹 요청을 처리하는 컨트롤러 임을 선언
- @GetMapping, @PostMapping
GET방식은 데이터 조회용(ex.게시글 보기,검색)이고
파라미터가 주소에 보이므로 보안성이 낮다
POST방식은 데이터 등록,전송,수정용(ex.회원가입,로그인) 보안이 상대적으로 우수하다
- @ResponsBody
리턴값을 뷰가 아닌 HTTP응답 바디로 직접 반환
@RestController
public class HelloController {
@GetMapping("/hello")
@ResponseBody
public String hello() {
return "Hello, World!";
}
}
"Hello world!" 라는 문자열을 응답으로 받음
- @RequestParam
요청한 파라미터를 자바 메서드인자로 바인딩
@RequestParam(value=”key”) 데이터타입 변수명
요청경로?key1=value1&key2=value2&…
@GetMapping("/greet")
public String greet(@RequestParam String name) {
return "Hello, " + name;
}
예시 요청
요청경로/greet?name=Jhon
응답
Hello, John
컨트롤러에서 뷰에 데이터를 주입시키기 위해 Model객체를 이용한다
예시
//controller
@GetMapping("detail-user")
public String detailUser(
@RequestParam(value="uid") String id,
Model model
) {
//Db에서 받아온 데이터..
String name="정세진";
String nickname="jsj1234";
model.addAttribute("name", name);
model.addAttribute("nick", nickname);
return "detail-user";
}
}
//detail-user
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>회원 상세보기</h3>
<h5>이름 : ${name}</h5>
<h5>닉네임 : ${nick}</h5>
</body>
</html>

잘 보고 갑니다~