API 방식으로 http 바디에 직접 실어서 보내주겠다 -> @ResponseBody
=> html을 내보내는게 아니라 말그대로 문자를 고대로 내려줌
@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 String setName(String name){
this.name = name;
}
}
이렇게 하면 {"name": "내가 get요청 날린 value값"} 이 고대로 내려감
* getter, setter 생성 단축키
cmd + N
@ResponseBody가 없을때는 Controller가 그냥 viewResolver한테 던져버리는데
('나한테 맞는 템플릿 찾아서 돌려죠!)
@ResponseBody가 있을땐, HTTP응답에 그대로 던짐
위의 hello-string 은 '문자'를 던지는데
hello-api에 보면 객체를 던지는데 , 스프링부트 입장에선 '객체'를 던지게 될땐
제이슨 방식으로 던지겟다 라는게 디폴트 정책임
HttpMessageConverter 가 만약 쌩 문자면 StringConverter가 동작하고
객체야 그럼 JsonConverter가 동작해서 자동으로 제이슨 형식으로 던지는 것
MappingJackson이 json으로 바꿔주는 유명한 라이브러리임 (스프링부트는 이거쓴댕)
'✍ 따뜻한 개발 공부' 카테고리의 다른 글
[읽는듕] 클린코드 (0) | 2023.06.05 |
---|---|
[dialogflow] fulfilment 사용하기 (0) | 2023.06.05 |
오늘의 개발일지(x) 다짐 일기(ㅇ) (0) | 2023.05.28 |
리액트랑은 랜더링이 너무 다른 스프링부트@.@~~~~~ (0) | 2023.05.23 |
dialogflow api의 key는 뭘 의미하는 걸까??? / 다사다난 dialogflow api 연결하기 (0) | 2023.05.17 |
댓글