-
Notifications
You must be signed in to change notification settings - Fork 1
입문 ‐ 섹션 2. 스프링 웹 개발 기초
영주 edited this page May 2, 2024
·
3 revisions
![스크린샷 2024-05-02 오후 3 37 55](https://private-user-images.githubusercontent.com/111039206/327334459-de8bed66-3e1a-41e5-a7c1-be5dc8023993.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NjI2MDgsIm5iZiI6MTczOTY2MjMwOCwicGF0aCI6Ii8xMTEwMzkyMDYvMzI3MzM0NDU5LWRlOGJlZDY2LTNlMWEtNDFlNS1hN2MxLWJlNWRjODAyMzk5My5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQyMzMxNDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wNzJkMjU0ZjVhNGRmNjA5NDRhN2Q5OWIyZGRmZjI3MTM0Yjk1NTcwZDRlOTJmNWJlOWZlMjNmOTdiZDQ0Y2I1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.3Tqiv_CbHAkzX7HjkNbRJSmq0vuHFMvbnmDPjrXl2Z4)
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String name, Model model) {
model.addAttribute("name", name);
return "hello-template";
}
- templates/hello-template.html의 파일을 화면에 렌더링함
-
@RequestParam : query string과 비슷함
- URL : localhost:8080/hello-mvc?name=spring3
![스크린샷 2024-05-02 오후 3 52 34](https://private-user-images.githubusercontent.com/111039206/327338131-40bd7309-3efa-4489-b006-b41ba6d77ab8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NjI2MDgsIm5iZiI6MTczOTY2MjMwOCwicGF0aCI6Ii8xMTEwMzkyMDYvMzI3MzM4MTMxLTQwYmQ3MzA5LTNlZmEtNDQ4OS1iMDA2LWI0MWJhNmQ3N2FiOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQyMzMxNDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05OTk1YWFiNjgxOWM2ZGUzODgyY2M4NWE4MmYzZjViYWRlY2UyNzg3YzgxYmE0NDk4OGNlMzI3ZTczMDRlZGNhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.pmoYLbQ9Fyakko7UwvPbZaFxV4J_J-BC1zFT8afcb-Q)
controller
@GetMapping("hello-api")
@ResponseBody // http의 body에 리턴값을 넣어줌
public Hello helloApi(@RequestParam("name") String name) {
Hello hello = new Hello();
hello.setName(name);
return hello;
} // view 없이 화면에 데이터를 렌더링할 수 있음
static class Hello {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
![스크린샷 2024-05-02 오후 4 03 42](https://private-user-images.githubusercontent.com/111039206/327341420-57a3b0b7-40ad-4101-a2d0-734b63c12cd4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NjI2MDgsIm5iZiI6MTczOTY2MjMwOCwicGF0aCI6Ii8xMTEwMzkyMDYvMzI3MzQxNDIwLTU3YTNiMGI3LTQwYWQtNDEwMS1hMmQwLTczNGI2M2MxMmNkNC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQyMzMxNDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zMjQxZjhiN2IwMGIwYzVhMmIzY2JjNDNkODhmMDE5OWRhMTJjNzE3YzgzZjc0MzFlZjgxYWM4YjViOTM1NzA3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.YauqOinNXj5zqWcGiQIlq_o58JoNbWQ36qDCQXcd-ZA)
![스크린샷 2024-05-02 오후 4 06 59](https://private-user-images.githubusercontent.com/111039206/327342259-7f57848e-08ff-4f5d-9011-022a652dd772.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NjI2MDgsIm5iZiI6MTczOTY2MjMwOCwicGF0aCI6Ii8xMTEwMzkyMDYvMzI3MzQyMjU5LTdmNTc4NDhlLTA4ZmYtNGY1ZC05MDExLTAyMmE2NTJkZDc3Mi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQyMzMxNDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lMjg0MTI5ZTVmMDczMmMzY2Y0ZjA5MDJkNzdkMDViMjVlODA2MWJlZTM2NTNkM2VlNjZlMzNiZWYwMTNjMjUwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.L1QeDSrM1zslZVDB9SGufst80JxW5CEUyyLc3H98RL0)
-
@ResponseBody
를 사용- HTTP의 BODY에 문자 내용을 직접 반환함
-
viewResolver
대신에HttpMessageConverter
가 동작함 - 기본 문자 처리 :
StringHttpMessageConverter
- 기본 객체 처리 :
MappingJackson2HttpMessageConverter