본문 바로가기

spring31

[Spring] 국제화 국제화 다른 언어를 사용하는 전 세계의 사용자들에게 REST API를 사용자 정의할때 필요입니다. 이때 홈페이지의 내용을 다국어로 지원해주는 것, 국제화를 사용합니다. 이때, i18n을 Accept-Language라는 것을 사용하여 국제화를 적용합니다. i18n(18개의 언어 Internationalization) Accept-Language를 통하여 i18n 을 사용하 Accept-Language는 사용자가 선호하는 언어와 지역을 나타냅니다. 🏷️ 예시코드 다음과 같이 메세지를 반환을 하게 하려면 message.properties가 필요하게 됩니다. // 국제화 예시 @GetMapping(path = "/hello-world-internationalized") public String helloworl.. 2023. 11. 12.
[Spring] RequestParam과 PathVariable @RequestParam과 @PathVariable 컨트롤러에서 Requestparam, PathVariable은 uri를 통해서 파라미터 값을 넘겨받을 때 사용하는 어노테이션입니다. uri를 통해서 값을 전달하는 방식은 아래와 같이 2가지 방법이 있습니다. RequestParam → http://xxx.x.x?id=1 PathVariable → http://xxxx.x.x/users/1 RequestParam의 경우 파라미터의 값과 이름을 함께 전달하는 방식으로 게시판 등에서 페이지 및 검색 정보를 함께 전달하는 방식을 사용할 때 많이 사용합니다. PathVariable 의 경우 Rest api에서 값을 호출할 때 주로 많이 사용합니다. 이와 같이 Spring에서는 이러한 전달인자를 처리하는데 두 가지.. 2023. 11. 7.
[Spring] ResponseEntity ResponseEntity Spring Framework에서 제공하는 클래스 중 HttpEntity라는 클래스가 존재합니다. 이것은 HTTP 요청(Request) 또는 응답(Response)에 해당하는 HttpHeader와 HttpBody를 포함하는 클래스입니다. public class HttpEntity { public static final HttpEntity EMPTY = new HttpEntity(); private final HttpHeaders headers; @Nullable private final T body; // ... } Response header 에는 웹서버가 웹브라우저에 응답하는 메시지가 들어있고, Reponse body에 데이터 값이 들어가 있습니다. HttpEntity 클래.. 2023. 11. 7.
[Spring] 전역 예외 처리 스프링의 기본적인 예외 처리 Spring은 만들어질 때부터 에러 처리를 위한 BasicErrorController를 구현해 두었고, 스프링 부트는 예외가 발생하면 기본적으로 /error로 에러 요청을 다시 전달하도록 WAS 설정을 해두었다. 그래서 별도의 설정이 없다면 예외 발생 시에 BasicErrorController로 에러 처리 요청이 전달됩니다. 참고로 이는 스프링 부트의 WebMvcAutoConfiguration를 통해 자동 설정이 되는 WAS의 설정입니다. 전역 예외 처리 - ControllerAdvice Spring은 전역적으로 ExceptionHandler를 적용할 수 있는 @ControllerAdvice와 @RestControllerAdvice 어노테이션을 제공하고 있습니다. @Contr.. 2023. 11. 4.
[Spring] @Controller와 @RestController @Controller 전통적인 Spring MVC의 컨트롤러인 @Controller는 주로 View를 반환하기 위해 사용합니다. 아래와 같은 과정을 통해 Spring MVC Container는 Client의 요청으로부터 View를 반환합니다. Client는 URI 형식으로 웹 서비스에 요청을 보냅니다. DispatcherServlet이 요청을 처리할 대상을 찾습 니다. HandlerAdapter을 통해 요청을 Controller로 위임합니다. Controller는 요청을 처리한 후에 ViewName을 반환합니다. DispatcherServlet은 ViewResolver를 통해 ViewName에 해당하는 View를 찾아 사용자에게 반환합니다. Controller가 반환환 뷰의 이름으로부터 View를 렌더링.. 2023. 11. 4.
[Spring] Spring Security Spring Security Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크로 Spring Security는 인증과 권한에 대한 부분을 Filter 흐름에 따라 처리하고 있습니다. Filter는 Dispatcher Servlet으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받지만, Interceptor는 Dispatcher와 Controller 사이에 위치한다는 점에서 적용 시기의 차이가 있습니다. 특징 인증 및 권한 부여에 대한 포괄적이고 확장 가능한 지원 세션 고정, 클릭재킹, 크로스 사이트 요청 위조 등과 같은 공격으로부터 보호 서블릿 API 통합 Spring Web MVC와의 선택적 통합 etc 인증(Authorizatoin)과 인가(Auth.. 2023. 10. 26.