๐[Spring] API.
'@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๋ฅผ ๋งํ๋ ๊ฒ์ด ์๋๋๋ค.)
-
์คํ
- http://localhost:8080/hello-string?name=spring
'@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;
}
}
}
-
์คํ
- http://localhost:8080/hello-api?name=spring
'@ResponseBody ์ฌ์ฉ ์๋ฆฌ'
-
'@ResponseBody'
๋ฅผ ์ฌ์ฉ- HTTP์ BODY์ ๋ฌธ์ ๋ด์ฉ์ ์ง์ ๋ฐํ
-
'viewResolver'
๋์ ์'HttpMessageConverter'
๊ฐ ๋์ - ๊ธฐ๋ณธ ๋ฌธ์์ฒ๋ฆฌ:
'StringHttpMessageConverter'
- ๊ธฐ๋ณธ ๊ฐ์ฒด์ฒ๋ฆฌ:
'MappingJackson2HttpMessageConverter'
- byte ์ฒ๋ฆฌ ๋ฑ๋ฑ ๊ธฐํ ์ฌ๋ฌ
'HttpMessageConverter'
๊ฐ ๊ธฐ๋ณธ์ผ๋ก ๋ฑ๋ก๋์ด ์์.
๐โโ๏ธ ์ฐธ๊ณ : ** ํด๋ผ์ด์ธํธ์ HTTP Accept ํค๋์ ์๋ฒ์ ์ปจํธ๋กค๋ฌ ๋ฐํ ํ์ ์ ๋ณด ๋์ ์กฐํฉํด์
**'HttpMessageConverter'
๊ฐ ์ ํ๋๋ค.