🐢 Study

    Springboot exception (@ControllerAdvise, @ExceptionHandler)

    Springboot Exception 처리 @ControllerAdvise @ControllerAdvice는 모든 @Controller 즉, 전역에서 발생할 수 있는 예외를 잡아 처리해주는 annotation이다. @RestControllerAdvice public class GlobalControllerAdvice { @ExceptionHandler(value = Exception.class) public ResponseEntity exception(Exception e) { System.out.println(e.getClass().getName()); System.out.println(e.getLocalizedMessage()); return ResponseEntity.status(HttpStatus..

    Filter vs Interceptor vs AOP

    👋 들어가기 전 Filter Interceptor AOP 세가지 기능이 모두 비슷한 기능을 하는데, 이들이 필요한 이유는 프로그램을 만들거나 작업을 할 때 공통되는 부분이 굉장히 많다. 예를 들어, 인증 처리라던지, XSS로부터 보안 처리, 로깅 처리, 페이지 인코딩도 포함될 것이다. 이렇게 프로그램 내에서 자주 사용되는 기능을 소스 여러 군데에 사용되고 있으면 소스 양도 늘어날 것이고, 프로젝트 단위가 커질수록 서버에 대한 부하, 유지보수에 어려움을 겪을 수 있다! 쉽게 말해서 공통되는 부분은 빼서 관리하는게 좋다. 위와 같이 공통되는 기능을 처리해주는 기능을 Spring이 제공한다. 위 세가지 기능에 대해 알아보고, 차이점들을 알아보자! Filter, Interceptor, AOP의 흐름 서버를 실행..

    HTTP Protocol

    HTTP Protocol HTTP (Hyper Text Transfer Protocol)로 RFC 2616에서 규정된 Web에서 데이터를 주고 받는 프로토콜. TCP를 기반으로 한 REST의 특징을 모두 구현하고 있는 Web기반의 프로토콜 HTTP 통신 방법 HTTP는 메시지를 주고(Request) 받는 (Response) 형태의 통신방법. HTTP Method GET 리소스의 조회에 사용한다. 서버에 전달하고 싶은 데이터를 query(parameter, query string)을 통해 전달한다. 메시지 바디를 통해 데이터를 전달할 수도 있지만 지원하지 않는 곳도 존재하기 때문에 권장❌ POST 메시지 바디를 통해 서버로 요청 데이터를 전달한다. 서버는 메시지 바디를 통해 들어온 데이터를 처리하는 모든 ..

    URI 설계 패턴

    URI 설계 패턴 URI(Uniform Resource Identifier) 인터넷에서 특정 자원을 나타내는 주소 값. 해당 값은 유일하다. URL(Uniform Resource Locator) 인터넷 상에서의 자원, 특정 파일의 위치를 나타내는 정보 URI 설계 시 주의할 점 1. 슬래시 구분자(/)는 계층 관계를 나타내는 데 사용 http://restapi.example.com/houses/apartments http://restapi.example.com/animals/mammals/whales 2. URI 마지막 문자로 슬래시(/)를 포함하지 않는다. URI에 포함되는 모든 글자는 리소스의 유일한 식별자로 사용되어야 하며 URI가 다르다는 것은 리소스가 다르다는 것이고, 역으로 리소스가 다르면 U..

    REST

    Rest란? Rest ( Representational State Transfer : 자원의 상태 전달 ) - 네트워크 아키텍처 INDEX 1. REST 구성 2. REST 특징 3. REST API 디자인 가이드 4. HTTP 응답 상태 코드 1. REST 구성 자원(RESOURCE) - URI 행위(Verb) - HTTP METHOD 표현(Representations) 2. REST 특징 Uniform (유니폼 인터페이스) Uniform Interface는 URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 아키텍처 스타일을 말합니다. Client - Server 구조 REST 서버는 API 제공, 클라이언트는 사용자 인증이나 컨텍스트(세션, 로그인 정보)등을 직접 관리하는 ..

    [Java] 함수와 메서드

    1. 함수와 메서드 - 객체의 속성은 멤버 변수로, 객체의 기능은 메서드로 구현한다 - 함수는 어디 속해 있는 것이 아닌 단독모듈, 호출하여 사용하면 된다. - 메서드는 클래스 안에 속해 있는 함수, 클래스의 맴버변수를 이용하여 구현된 함수 1-1) 함수 ( function ) 하나의 기능을 수행하는 일련의 코드 구현된 ( 정의된 ) 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환됨 함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있음. 함수는 이름, 매개 변수, 반환 값, 함수 몸체(body)로 구성됨 int add(int num1, int num2) { int result; result = num1 + num2; return result; } 함수 호출과..