김영한님의 스프링 입문 강의를 들으며 그동안 헷갈렸던 부분을 정확하게 알기 실습해보며 메모한 것이다.
- 참고 - 김영한님 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술!
err
Required request parameter 'name' for method parameter type String is not present
-> 파라미터에 ‘name’이 없다는 에러이다.
@ResponseBody
-> html의 바디를 의미하는게 아니라 http의 body를 의미하는 것.
==> http 바디부에 @RequestParam("name") 이 데이터를 직접 넣어주겠다. 는것.
(즉, 바디부에 "helle" + name 이걸 직접 넣겠다는 것이다)
리소스를 봐도 view가 없다 ==> 데이터를 그대로 보내는 것이다.
mvc 템플릿과 다른점. => view이런게 없다. 그냥 바로 문자가 그대로 내려간다.
이렇게 name이 들어가던 부분을 다양하게 바꿔두고 test.
-> ? 뒤에 붙는 것이 @RequestParam(" ") 이 안에 들어간 부분과 매칭되는 것.
-> hihi부분은 아무거나 내가 넣고싶은 변수 이름을 넣으면 된다.
이렇게 여기 저기 바꿔보고 테스트를 해봐도 name이 출력되서
‘name이라는 것은 아무데도 쓰지 않았는데 name이 나오는걸 보니 name은 고정으로 나오는가보다. ‘
라고 처음에 생각했다. 그러다 객체 생성하며 만든 name을 발견하여 name을 hahaha로 바꿔보았다.
name이 고정일리가 ~~ 없군! 이렇게 보니 어느 부분이 어떻게 들어가고 있는지 알겠다~~!
확실히 직접 코드를 쳐보며 여기 저기 바꿔봐야 잘 이해되는 듯 싶다!
정리 ==> 객체는 JSON으로 반환을 해준다! (JsonConverter가 작동.)
정적 컨텐츠 - 파일을 그대로 다 내려준다.
MVC와 템플릿 엔진 - 템플릿 엔진을 모델, 뷰, 컨트롤러로 쪼개서 / 뷰를 템플릿 엔진으로 html을 좀 더 프로그래밍 한걸로 렌더링해서, 이 렌더링이 된 html을 클라이언트에게 전달해준다.
API - 보통 spring에서 API를 말하는 것은 객체를 반환하는 것을 말한다. JsonConverter을 통해서 JSON으로 바꿔가지고 반환을 해주는 것. 뷰 이런거 없이 http responst에 값을 넣어서 반환해주는것이다.
강의를 들으면서 이해가 안되면 계속 반복해서 돌려보고 이해한 부분으로 작성한 것이지만 혹시 오류를 발견하신다면 이야기 해주세요~! 잘 배우겠습니다:)