๋ฐ์ํ
@ResponseBody ๋ฌธ์ ๋ฐํ
@controller
public class HelloController{
@GetMapping("hello-string")
@ResponseBody
public String helloString(@RequestParam("name") String name){
return "hello " + name;
}
}
@ResponseBody
๋ฅผ ์ฌ์ฉํ๋ฉด ๋ทฐ ๋ฆฌ์กธ๋ฒ (ViewResolver
)๋ฅผ ์ฌ์ฉํ์ง ์์- ๋์ ์ HTTP์ BODY์ ๋ฌธ์ ๋ด์ฉ์ ์ง์ ๋ฐํ(HTML BODY TAG๋ฅผ ๋งํ๋ ๊ฒ์ด ์๋)
@ResponseBody
@Controller
public class HelloController{
@GetMapping("hello-api")
@ResponseBody
public Hello helloApi(@RequestParam("name") String name){
Hello hello = new Hello();
hello.setName(name);
return hello;
}
static class Hello{
private String name;
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
}
}
@ResponseBody ์ฌ์ฉ ์๋ฆฌ
@ResponseBody
๋ฅผ ์ฌ์ฉ
- HTTP์ BODY์ ๋ฌธ์ ๋ด์ฉ์ ์ง์ ๋ฐํ
viewResolver
๋์ ์HttpMessageConverter
๊ฐ ๋์- ๊ธฐ๋ณธ ๋ฌธ์์ฒ๋ฆฌ :
StringHttpMessageConverter
- ๊ธฐ๋ณธ ๊ฐ์ฒด์ฒ๋ฆฌ :
MappingJackson2HttpMessageConverter
- JSON์ด๋ฉด JSON์ด์ง ์Jackson
์ด์ง? (Jackson
์ ๊ฐ์ฒด๋ฅผ JSON์ผ ๋ก ๋ณํ ํด์ฃผ๋ ๋ํ์ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด๋ค.) - byte ์ฒ๋ฆฌ ๋ฑ๋ฑ ๊ธฐํ ์ฌ๋ฌ HttpMessageConverter๊ฐ ๊ธฐ๋ณธ์ผ๋ก ๋ฑ๋ก๋์ด ์์
์ฐธ๊ณ : ํด๋ผ์ด์ธํธ์ HTTP Accept ํด๋์ ์๋ฒ์ ์ปจํธ๋กค๋ฌ ๋ฐํ ํ์
์ ๋ณด ๋์ ์กฐํฉํด์HttpMessaageConverter
๊ฐ ์ ํ๋๋ค. (๊ทธ๋ฅ ์ด๋ฐ๊ฒ ์๊ตฌ๋ ์ ๋๋ง ์ดํด..)
๋ฐ์ํ
๋ฐ์ํ
@ResponseBody ๋ฌธ์ ๋ฐํ
@controller
public class HelloController{
@GetMapping("hello-string")
@ResponseBody
public String helloString(@RequestParam("name") String name){
return "hello " + name;
}
}
@ResponseBody
๋ฅผ ์ฌ์ฉํ๋ฉด ๋ทฐ ๋ฆฌ์กธ๋ฒ (ViewResolver
)๋ฅผ ์ฌ์ฉํ์ง ์์- ๋์ ์ HTTP์ BODY์ ๋ฌธ์ ๋ด์ฉ์ ์ง์ ๋ฐํ(HTML BODY TAG๋ฅผ ๋งํ๋ ๊ฒ์ด ์๋)
@ResponseBody
@Controller
public class HelloController{
@GetMapping("hello-api")
@ResponseBody
public Hello helloApi(@RequestParam("name") String name){
Hello hello = new Hello();
hello.setName(name);
return hello;
}
static class Hello{
private String name;
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
}
}
@ResponseBody ์ฌ์ฉ ์๋ฆฌ
@ResponseBody
๋ฅผ ์ฌ์ฉ
- HTTP์ BODY์ ๋ฌธ์ ๋ด์ฉ์ ์ง์ ๋ฐํ
viewResolver
๋์ ์HttpMessageConverter
๊ฐ ๋์- ๊ธฐ๋ณธ ๋ฌธ์์ฒ๋ฆฌ :
StringHttpMessageConverter
- ๊ธฐ๋ณธ ๊ฐ์ฒด์ฒ๋ฆฌ :
MappingJackson2HttpMessageConverter
- JSON์ด๋ฉด JSON์ด์ง ์Jackson
์ด์ง? (Jackson
์ ๊ฐ์ฒด๋ฅผ JSON์ผ ๋ก ๋ณํ ํด์ฃผ๋ ๋ํ์ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด๋ค.) - byte ์ฒ๋ฆฌ ๋ฑ๋ฑ ๊ธฐํ ์ฌ๋ฌ HttpMessageConverter๊ฐ ๊ธฐ๋ณธ์ผ๋ก ๋ฑ๋ก๋์ด ์์
์ฐธ๊ณ : ํด๋ผ์ด์ธํธ์ HTTP Accept ํด๋์ ์๋ฒ์ ์ปจํธ๋กค๋ฌ ๋ฐํ ํ์
์ ๋ณด ๋์ ์กฐํฉํด์HttpMessaageConverter
๊ฐ ์ ํ๋๋ค. (๊ทธ๋ฅ ์ด๋ฐ๊ฒ ์๊ตฌ๋ ์ ๋๋ง ์ดํด..)
๋ฐ์ํ