1. HTML 로 내리는 방법
2. API로 바로 내리는 방법
1. HTML 로 내리는 방법
웹브라우저에서 hello-mvc 라는 호출을 받게 되면 먼저 내장톰켓서버에서 반응을 한다. 컨테이너에 있는 @GetMapping을 보고 html에 리턴을 한다.
@GetMapping("hello-mvc")
//MVC, 템플릿 엔진방식 - 템플릿 엔진을
//model, view 방식으로 쪼개서 다시 랜더링한 것을 html로 전달
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String name, Model model){
//@RequestParam("가져올 데이터의 이름") [데이터타입] [가져온데이터를 담을 변수]
model.addAttribute("name", name);
return "hello-template";
}
hello-template.html 파일에 있는 name을 화면에 나타낸다.
<html xmlns:th="http://www.thymeleaf.org">
<body>
<p th:text="'hello ' + ${name}">hello! empty</p>
</body>
</html>
http://localhost:8090/hello-mvc?name=spring!! 을 웹주소를 치게 되면 hello-template.html 파일에 데이터가 나타난다.
2. API로 바로 내리는 방법
@ResponseBody에서 데이터를 그대로 넘긴다.
@GetMapping("hello-string") //Api 방식 - @ResponseBody 문자 반환
@ResponseBody // http에서 body부에 이 데이터를 직접 넣어 주겠다.
public String helloString(@RequestParam("name") String name){
return "hello" + name; // name 부분에서 내가 입력한 것 그대로 데이터 넣어준다.
}
- 객체로 넣어주는 방법
@GetMapping("hello-api") //Api 방식 - @ResponseBody 객체 반환 - 데이터를 넣어줄때
@ResponseBody
public Hello helloApi(@RequestParam("name") String name){
Hello hello = new Hello(); //객체 생성
hello.setName(name);
return hello; //객체를 넘김
}
static class Hello { //getter and setter
private String name; //외부에서 못꺼냄
public String getName() { //메서드를 통해 접근
return name;
}
public void setName(String name) {
this.name = name;
} //-- 대표적인 API 반환 형식
}
'Springboot' 카테고리의 다른 글
[MSA] 1. Spring cloud Anrifragile & 아키텍처 (0) | 2023.12.22 |
---|---|
DTO 사용 방법 (0) | 2022.05.03 |
[SpringBoot & JPA ] 판매자 POST와 GET 방식 (0) | 2022.02.14 |
[Charter6] Controller 파라미터 (0) | 2021.11.21 |
JPA 란? (0) | 2021.07.27 |