Spring/Spring MVC27 HTTP 메시지 컨버터 (1) 뷰 템플릿으로 HTML을 생성해서 응답하는 것이 아니라, HTTP API처럼 JSON 데이터를 HTTP 메시지 바디에서 직접 읽거나 쓰는 경우 HTTP 메시지 컨버터를 사용하면 편리하다. 스프링 MVC는 다음의 경우에 HTTP 메시지 컨버터를 적용한다. HTTP 요청 : @RequestBody, HttpEntity(RequestEntity) HTTP 응답 : @ResponseBody, HttpEntity(ResponseEntity) HTTP 메시지 컨버터 인터페이스 org.springframework.http.converter.HttpMessageConverter package org.springframework.http.converter; public interface HttpMessageConvert.. 2023. 7. 21. SpringMVC - HTTP API, 메시지 바디에 입력하기 이번 포스팅에서는, HTTP API 통신 시, 클라이언트가 메시지 바디에 넣은 JSON을 스프링에서 처리해보는 학습을 해볼 것이다.! 이미 해당 부분에 대한 자세한 내용은 SpringMVC - HTTP 요청 메시지(JSON 타입 처리) 에서 다뤘기 때문에 이번에는 간단하게 실습내용과 설명을 공유할 예정이다. ResponseBodyController import hello.springmvc.basic.HelloData; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotyp.. 2023. 7. 20. SpringMVC - HTTP 응답(정적 리소스, 뷰 템플릿) 이번 포스팅에서는 스프링에서 HTTP 응답 시, 정적 리소스와 뷰 템플릿관련 내용을 다뤄볼 예정이다. 스프링에서 응답 데이터를 만드는 방법은 크게 3가지 이다. 정적리소스 예시) 웹 브라우저에 정적인 HTML, css, js를 제공할 때는, 정적 리소스를 사용한다. 뷰 템플릿 사용 예시) 웹 브라우저에 동적인 HTML을 제공할 때는 뷰 템플릿을 사용한다. HTTP 메시지 사용 HTTP API를 제공하는 경우에는 HTML이 아니라 데이터를 전달해야 하므로, HTTP 메시지 바디에 JSON과 같은 형식으로 데이터를 객체 형태로 보낸다. 정적 리소스 스프링 부트는 클래스패스 다음 디렉토리에 있는 정적 리소스를 제공한다. /static, /public, /resources, /META-INF/resources .. 2023. 7. 20. SpringMVC - HTTP 요청 메시지(JSON 타입 처리) 이번 포스팅에서는 클라이언트의 요청 바디가 JSON타입일 경우 어떻게 처리할 수 있는지 학습해볼 예정이다. 서블릿에서 요청을 받아 처리하는 방법부터, 스프링에서 제공하는 기능까지 한번 알아보자. requestBodyJsonV1 /** * {"username":"hello", "age":20} * content-type: application/json */ @Slf4j @Controller public class RequestBodyJsonController { private final ObjectMapper objectMapper = new ObjectMapper(); @PostMapping("/request-body-json-v1") public void requestBodyJsonV1(HttpServ.. 2023. 7. 20. SpringMVC - 요청 메시지 - 단순 텍스트 받기 이번 포스팅에서는 HTTP message body에 데이터를 직접 담아서 요청하는 방식으로 데이터를 받아 볼 것이다. HTTP API에서 주로 사용하며 Body의 데이터 형식은 JSON, XML, TEXT를 사용한다. 실무에서는 거의 JSON타입을 사용하며, HTTP BODY를 넣어서 전송할 수 있는 Method인 POST, PUT, PATCH 방식에 사용한다. 이전 포스팅에서 학습한 요청파라미터와는 다르게, HTTP 메시지 바디를 통해 데이터를 직접 넘어오는 경우 @RequestParam, @ModelAttribute를 사용할 수 없다.(HTML Form 형식으로 전달되는 경우는 요청 파라미터로 인식되기 때문에 사용할 수 있다) 이제 간단한 텍스트 메시지를 HTTP 메시지 바디에 담아서 전송하고, 읽어.. 2023. 7. 20. SpringMVC - 요청 파라미터(@ModelAttribute) 이번 포스팅에서는 요청 파라미터를 이용하여 객체를 만드는 방법에 대해서 다룰 것이다. 실제로 개발을 하면 요청 파라미터를 받아서 필요한 객체를 만들고 그 객체에 값을 넣어주어야 한다. 일반적으로는 다음과 같이 코드를 작성할 것이다. @RequestParam String username; @RequestParam int age; HelloData data = new HelloData(); data.setUsername(username); data.setAge(age); 스프링은 이 과정을 완전히 자동화 해주는 @ModelAttribue 어노테이션을 제공한다. 해당 기능을 한번 실습해보자. 먼저 요청 파라미터를 바인딩 받을 객체를 만들어 준다. HelloData import lombok.Data; @Data.. 2023. 7. 20. 이전 1 2 3 4 5 다음