본문 바로가기
728x90
반응형

Spring Tutorial69

[스프링MVC 기본 기능 11] 요청 매핑 핸들러 어댑터 구조 HTTP 메시지 컨버터는 어디에서 사용되는 것일까? RequestMappingHandlerAdapter (요청 매핑 핸들러 어댑터) 애노테이션 기반의 컨트롤러, 즉 @RequestMapping을 처리하는 핸들러 어댑터이다. 애노테이션 기반의 컨트롤러는 매우 다양한 파라미터를 사용할 수 있었다. HttpServletRequest , Model 은 물론이고, @RequestParam , @ModelAttribute 같은 애노테이션 뿐 아니라, @RequestBody , HttpEntity 같은 HTTP 메시지를 처리하는 부분까지. 매우 큰 유연함을 보여주었다. → 이렇게 유연하게 파라미터를 처리할 수 있는 이유가 바로 ArgumentResolver 덕분이다! 1. 애노테이션 기반 컨트롤러를 처리하는 Requ.. 2023. 8. 27.
[스프링MVC 기본 기능 10] HTTP 메시지 컨버터 뷰 템플릿으로 HTML을 생성해서 응답하는 것이 아니라, HTTP API처럼 JSON 데이터를 HTTP 메시지 바디에서 직접 읽거나 쓰는 경우 HTTP 메시지 컨버터를 사용하면 편리하다. @ResponseBody를 사용하면? HTTP의 BODY에 문자 내용을 직접 반환 viewResolver 대신에 HttpMessageConverter 가 동작 기본 문자처리: StringHttpMessageConverter 기본 객체처리: MappingJackson2HttpMessageConverter byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음 응답의 경우 클라이언트의 HTTP Accept 헤더와 서버의 컨트롤러 반환 타입 정보 둘을 조합해서 HttpMessageConv.. 2023. 8. 26.
[스프링MVC 기본 기능 9] HTTP 응답 데이터 스프링(서버)에서 응답 데이터를 만드는 방법 ( 3가지 ) 정적 리소스 예) 웹 브라우저에 정적인 HTML, css, js를 제공할 때는, 정적 리소스를 사용한다. 뷰 템플릿 예) 웹 브라우저에 동적인 HTML을 제공할 때는 뷰 템플릿을 사용한다. HTTP 메시지 HTTP API를 제공하는 경우에는 HTML이 아니라 데이터를 전달해야 하므로, HTTP 메시지 바디에 JSON 같은 형식으로 데이터를 실어 보낸다. 1. 정적 리소스는 해당 파일을 변경 없이 그대로 서비스하는 것이다. 스프링 부트는 클래스패스의 다음 디렉토리에 있는 정적 리소스를 제공한다. /static , /public , /resources , /META-INF/resources src/main/resources는 리소스를 보관하는 곳이고.. 2023. 8. 24.
[스프링MVC 기본 기능 8] HTTP 요청 메시지 - JSON [스프링MVC 기본 기능 7] HTTP 요청 메시지 - 단순 텍스트 (tistory.com) [스프링MVC 기본 기능 7] HTTP 요청 메시지 - 단순 텍스트 3. HTTP message body에 데이터를 직접 담아서 요청 HTTP API(REST API)에서 주로 사용 데이터 형식(JSON, XML, TEXT)은 주로 JSON 사용 POST, PUT, PATCH 에서 주로 사용 [스프링 MVC 10] 서블릿: HTTP 요청 데이터 (*중요) joly156.tistory.com JSON 형식으로 데이터를 전송해보자. [스프링 MVC 13] 서블릿: HTTP 요청 데이터 - API 메시지 바디 (tistory.com) [스프링 MVC 13] 서블릿: HTTP 요청 데이터 - API 메시지 바디 HTTP.. 2023. 8. 23.
[스프링MVC 기본 기능 7] HTTP 요청 메시지 - 단순 텍스트 3. HTTP message body에 데이터를 직접 담아서 요청 HTTP API(REST API)에서 주로 사용 데이터 형식(JSON, XML, TEXT)은 주로 JSON 사용 POST, PUT, PATCH 에서 주로 사용 [스프링 MVC 10] 서블릿: HTTP 요청 데이터 (*중요) (tistory.com) [스프링 MVC 10] 서블릿: HTTP 요청 데이터 (*중요) HTTP 요청 데이터를 어떻게 조회하는지 알아보자! HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 방법 (3가지) 1. GET - 쿼리 파라미터 /url?username=hello&age=20 메시지 바디 없이, URL joly156.tistory.com 요청 파라미터와 다르게, HTTP 메시지 바디를 통해 데.. 2023. 8. 23.
[스프링MVC 기본 기능 6] HTTP 요청 파라미터 - @ModelAttribute 실제 개발을 하면 1. 요청 파라미터를 받아서, 2. 필요한 객체를 만들고, 3. 그 객체에 값을 넣어주어야 한다. 보통 다음과 같이 코드를 작성할 것이다. @ResponseBody @RequestMapping("/model-attribute-v1") public String modelAttributeV1(@RequestParam String username, @RequestParam int age){ //1 HelloData data = new HelloData();//2 data.setUsername(username);//3 data.setAge(age); log.info("username={}, age={}", helloData.getUsername(), helloData.getAge()); ret.. 2023. 8. 22.
728x90
반응형