Back-end
-
[Spring] HTTP 메시지 컨버터Back-end/Spring 2022. 3. 21. 16:31
안녕하세요 이번 포스팅은 HTTP 메시지 컨버터에 대해서 알아보겠습니다!! HTTP 메시지 컨버터 뷰 템플릿으로 HTML을 생성해서 응답하는 것이 아니라, HTTP API처럼 JSON 데이터를 HTTP 메시지 바디에서 직접 읽거나 쓰는 경우 HTTP 메시지 컨버터를 사용하면 편리합니다. @ResponseBody를 사용 - HTTP의 BODY에 문자 내용을 직접 반환 - viewResolver 대신에 HttpMessageConverter가 동작 - 기본 문자처리 : StringHttpMessageConverter - 기본 객체 처리 : MappingJackson2 HttpMessageConverter - byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음 스프링 M..
-
[Spring] HTTP 요청 파라미터(RequestParam, PathVariable, ModelAttribute, RequestBody, ResponseBody, RestController, HttpEntity) - 쿼리 파라미터, HTML FormBack-end/Spring 2022. 3. 21. 15:15
안녕하세요 이번 포스팅은 HTTP 요청 파라미터에 대해 알아보겠습니다!!! 서블릿에서 학습했던 HTTP 요청 데이터를 조회하는 방법을 다시 떠올려봅시다. 그리고 서블릿으로 학습했던 내용을 스프링이 얼마나 깔끔하고 효율적으로 바꾸어주는지 알아보고 HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 방법을 알아보겠습니다. 클라이언트에서 서버로 요청 데이터를 전달할 때는 주로 다음 3가지 방법을 사용합니다. 1. GET - 쿼리 파라미터 - /url?username-hello&age=20 - 메시지 바디 없이 URL의 쿼리 파라미터에 데이터를 포함해서 전달 - 예) 검색, 필터, 페이징 등에서 많이 사용하는 방식 2. POST - HTML Form - content-type : applicat..
-
[Spring] HTTP 요청 - 기본, 헤더 조회Back-end/Spring 2022. 3. 21. 13:01
안녕하세요 이번 포스팅은 HTTP 요청을 받아서 컨트롤러에서 헤더를 포함한 여러 정보를 조회해보겠습니다. 애노테이션 기반의 스프링 컨트롤러는 다양한 파라미터를 지원합니다. RequestHeaderController import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpMethod; import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import jav..
-
[Spring] 요청 매핑Back-end/Spring 2022. 3. 21. 12:53
안녕하세요!! 이번 포스팅은 스프링에서 제공하는 기본적인 요청 매핑에 관해 알아보겠습니다. MappingController import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.*; @RestController public class MappingController { private Logger log = LoggerFactory.getLogger(getClass()); /** * 기본 요청 * 둘다 허용 /hello-basic, /hello-basic/ * HTTP 메서드 모두 허용 GET, HEAD, POST, PUT, PATCH, DELETE */ @RequestMap..
-
[Spring] 로깅(Logging) 간단하게 알아보기Back-end/Spring 2022. 3. 21. 12:37
안녕하세요 이번 포스팅은 로깅에 대해서 알아보겠습니다!! 운영 시스템에서는 System.out.println() 같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 별도의 로깅 라이브러리를 사용해서 로그를 출력합니다. 참고로 로그 관련 라이브러리도 많고, 깊게 들어가면 끝이 없기 때문에, 여기서는 최소한의 사용 방법만 알아봅시다. 로깅 라이브러리 스프링 부트 라이브러리를 사용하면 스프링 부트 로깅 라이브러리( spring-boot-starter-logging )가 함께 포함된다. 스프링 부트 로깅 라이브러리는 기본으로 다음 로깅 라이브러리를 사용합니다. 로그 라이브러리는 Logback, Log4J, Log4J2 등등 수많은 라이브러리가 있는데, 그것을 통합해서 인터페이스로 제공하는 것이 바로 SL..
-
[Spring] 스프링 MVC - 간단하게 시작해보기Back-end/Spring 2022. 3. 21. 12:13
안녕하세요 이번 포스팅에서는 스프링 MVC를 간단하게 알아보겠습니다 스프링이 제공하는 컨트롤러는 애노테이션 기반으로 동작해서, 매우 유연하고 실용적입니다. 과거에는 자바 언어에 애노테이션이 없기도 했고, 스프링도 처음부터 이런 유연한 컨트롤러를 제공한 것은 아닙니다. @RequestMapping 스프링은 애노테이션을 활용한 매우 유연하고, 실용적인 컨트롤러를 만들었는데 이것이 바로 @RequestMapping 애노테이션을 사용하는 컨트롤러입니다. 다들 한 번쯤 사용해보았을 것입니다. 여담이지만 과거에는 스프링 프레임워크가 MVC 부분이 약해서 스프링을 사용하더라도 MVC 웹 기술은 스트럿츠 같은 다른 프레임워크를 사용했었습니다. 그런데 @RequestMapping 기반의 애노테이션 컨트롤러가 등장하면서,..
-
[Spring] 뷰 리졸버(View Resolver)Back-end/Spring 2022. 3. 21. 11:42
안녕하세요 이번 포스팅은 스프링 내부에 있는 뷰 리졸버에 대해서 알아보겠습니다!! OldController - View 조회할 수 있도록 변경 import org.springframework.stereotype.Component; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @Component("/springmvc/old-controller") public class OldController i..
-
[Spring] 핸들러 매핑과 핸들러 어댑터Back-end/Spring 2022. 3. 21. 11:27
안녕하세요! 이번 포스팅은 스프링 내부 구조에 있는 핸들러 매핑과 핸들러 어댑터에 대해서 알아보겠습니다!! 지금은 전혀 사용되지 않지만, 과거에 주로 사용했던 스프링이 제공하는 간단한 컨트롤러로 핸들러 매핑과 어댑터를 이해해보겠습니다 Controller Interface(과거 버전 스프링 컨트롤러) 처음에는 스프링도 이런 딱딱한 형식의 컨트롤러를 제공했습니다. 간단하게 구현해보겠습니다. import org.springframework.stereotype.Component; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; import javax.servlet.ht..