API 3

[Spring-Boot] @Controller vs @RestContoller 차이점

Spring에서 컨트롤러를 지정해주기 위한 어노테이션은 @Controller와 @RestController가 있다. 이번에는 이 2가지 어노테이션의 차이점에 대해 정리해보겠다. 주요 차이점은 @ResponseBody가 생성되는 방식. 즉, @Controller + @ResponseBody 조합 = @RestContoller 이다. @Controller 전통적인 Spring MVC의 컨트롤러 어노테이션인 @Controller는 주로 View(화면)를 반환하기 위해 사용됨. 아래와 같은 요청으로 view를 반환하게 됨. Client는 URL 형식으로 요청을 보냄. DispatcherServlet이 요청을 위임할 Handler Mapping을 찾음. Handler Mapping을 통해 해당 요청을 받는 Con..

Spring-Boot 2024.01.23

ORM이란?

어플리케이션의 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것을 의미한다 - java의 데이트 클래스와 관계형 데이터베이스의 테이블을 매핑 객제치향 프로그래밍과 관계형 데이터베이스의 차이로 발생하는 제약 사항을 해결해주는 역할 수행 대표적으로 JPA, Hibernate등이 있음 ORM의 장점 1. SQL 쿼리가 아닌 직관적인 코드로 데이터를 조작할 수 있다 2. 재사용 및 유지보수가 편리하다 3. DBMS에 대한 종속성이 줄어듬 ORM의 단점 1. 복잡성이 커질 경우 ORM만으로 구현하기 어려움 - 직접 쿼리를 구현하지않아 복잡한 설계가 어렵다 2. 대형 쿼리는 별도의 튜닝이 필요할 수 있음 JPA란? JPA는 Java Persistance API의 줄임말이며, ORM과 관련된 인터페이스의 ..

Spring-Boot 2023.10.25

OAuth란?

OAuth는 제3의 서비스에 계정 관리를 맡기는 방식이다. 흔히 볼 수 있는 네이버로 로그인하기, 구글로 로그인하기 같은 방법이다. OAuth를 사용하면 인증 서버에서 발급받은 토큰을 사용해서 리소스 서버에 리소스 오너의 정보를 요청하고 응답받아 사용할수 있다. 리소스 오너 정보를 취득할 수 있는 방법은 4가지가 있다. 종류(type) 설명(description) 권한 부여 코드 승인 타입(Authorization Code Grant) OAuth 2.0에서 가장 잘 알려진 인증밥법. 클라리언트가 리소스에 접근하는 데 사용하며, 권한에 접근할 수 있는 코드와 리소스 오너에 대한 액세스 토큰을 발급받는 방식 암시적 승인 타입(Implicit Grant) 서버가 없는 자바스크립트 웹 애플리케이션 클라이언트에서..

Spring-Boot 2023.07.27