본문 바로가기

Spring boot

(70)
POST 방식에 이해 및 실습 💡 JSON 데이터 타입 확인● 문자열 ("name": "John")● 숫자 ("age": 30)● 불리언 ("isStudent": false)● 객체 ("address": { "city": "New York", "zipCode": "10001" })● 배열 ("hobbies": ["reading", "traveling", "swimming"])● null ("middleName": null){ "name": "John", "age": 30, "isStudent": false, "address": { "city": "New York", "zipCode": "10001" }, "hobbies": ["reading", "traveling", "swimming"], "middleNam..
GET 방식과 URL 주소 설계 💡 멱등성(Idempotency)이란 같은 작업을 여러 번 수행해도 결과가 달라지지 않는 성질을 의미한다. 이 개념은 특히 HTTP 메서드나 데이터베이스 연산에서 자주 사용된다.멱등성을 가짐 (GET, PUT, DELET ) 비 멱등성을 가짐 (POST)멱등성의 의미?안정성: 멱등성을 가진 연산은 중복 요청에 대해 안전하다. 네트워크 문제로 인해 동일한 요청이 여러 번 전달되더라도, 최종 결과는 변하지 않으므로 안전하게 처리할 수 있다.데이터 일관성: 멱등성은 시스템이 일관된 상태를 유지하도록 도와준다. 특히, 분산 시스템에서 동일한 작업이 여러 번 실행될 가능성이 있을 때, 멱등성은 데이터 무결성을 보장한다. 멱등성이란 같은 작업을 여러 번 수행해도 결과가 달라지지 않는 성질을 의미하며, 주로 HTT..
스프링 부트 간단한 요청과 응답 동작 방식을 알아보자. 스프링 부트 그림으로 요약한 요청과 응답에 흐름 살펴 보기클라이언트 측에서 /user로 GET 요청을 한다. 이 요청은 톰캣을 거쳐 스프링 부트 애플리케이션으로 전달된다.이때, 스프링 부트의 디스패처 서블릿(DispatcherServlet)이 요청을 받는다. 디스패처 서블릿은 요청된 URL을 분석하고, 이를 처리할 수 있는 컨트롤러와 해당 메서드를 찾는다.컨트롤러에서 비즈니스 로직이 필요한 경우, 비즈니스 계층(Service) 및 퍼시스턴스 계층(Repository)을 통해 데이터를 처리한다.응답 과정에서 MIME 타입(예: JSON, HTML, XML 등)에 따라 다음과 같이 응답 방식이 달라진다JSON, XML 등 데이터 포맷으로 응답해야 하는 경우, 메시지 컨버터가 작동한다. 예를 들어, @Resp..
스프링 부트의 웹 애플리케이션 구조 어떻게 만들어져 있을까? 1. MVC 패턴 (Model-View-Controller)MVC 패턴은 애플리케이션의 기능을 세 가지 역할로 분리하는 구조이다.Model (모델): 데이터와 비즈니스 로직을 관리한다.View (뷰): 사용자에게 데이터를 시각적으로 보여준다.Controller (컨트롤러): 사용자의 요청을 받아 모델을 통해 처리하고, 결과를 뷰에 전달한다.이 패턴은 애플리케이션의 UI 로직과 데이터 처리 로직을 분리하여 코드의 가독성을 높이고, 유지보수를 쉽게 한다.  2. 레이어드 아키텍처 (계층 구조)레이어드 아키텍처는 애플리케이션을 세 가지 주요 계층으로 나누어 각각의 책임을 명확히 하는 구조를 말한다.프레젠테이션 계층 (Presentation Layer):역할: 사용자와 상호작용하는 계층으로, HTTP 요청을 받..
스프링 부트 핵심 콘셉트가 뭘까?(복습) 1. 스프링 프레임워크(Spring Framework)일반적인 정의: 스프링 프레임워크는 자바 플랫폼을 위한 강력한 애플리케이션 프레임워크이다. 객체 지향 프로그래밍의 원칙에 기반하여 애플리케이션을 구성하고 관리하는 방식으로, 주로 엔터프라이즈급 애플리케이션을 구축할 때 사용된다.설정 방식: 스프링은 초기 설정이 복잡할 수 있다. XML 설정 파일이나 자바 기반의 설정 클래스를 통해 다양한 기능을 직접 구성해야 한다.기능: 스프링은 의존성 주입(DI), AOP(관점 지향 프로그래밍), 트랜잭션 관리, 데이터 액세스, 웹 애플리케이션 개발, 보안 등 광범위한 기능을 제공한다. 그러나 이 모든 기능을 사용하기 위해서는 상당한 양의 설정 작업이 필요하다. 2. 스프링 부트(Spring Boot)일반적인 정의:..
Bank App 만들기 ( deployment ) - OAuth 2.0 이란 ( Open Authorization ) OAuth ( Open Authorization ) 2.0 이란 ?사용자가 자신의 계정 정보를 직접 공유하지 않아도 서드 파티 애플리케이션들이 제한된 접근을 할 수 있게 해준다.카카오 로그인은 카카오계정으로 다양한 서비스에 로그인할 수 있도록 하는 소셜 로그인 서비스이다. 카카오싱크는 서비스 간편가입 등 카카오 로그인에 더 다양한 확장 기능을 제공하는 비즈니스 설루션이다. 카카오 로그인과 카카오싱크가 제공하는 핵심 기능은 다음과 같다. https://developers.kakao.com/ Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com 구분 설명인증..
Server To Server https://jsonplaceholder.typicode.com/ JSONPlaceholder - Free Fake REST API{JSON} Placeholder Free fake and reliable API for testing and prototyping. Powered by JSON Server + LowDB. Serving ~3 billion requests each month.jsonplaceholder.typicode.comhttps://jsonplaceholder.typicode.com/    RestTemplate 대표적 메서드RestTemplate MethodHTTP Method설명getForEntityGETget 요청을 보내고 ResponseEntity로 응답을 받음getForOb..
Bank App 만들기 ( deployment ) - 존재하지 않는 경로에 대한 요청 처리( 404페이지 연결 ) GlobalControllerAdvice - @ExceptionHandler(Exception.class) 주석 처리 @ControllerAdvice // IoC 대상 (싱글톤 패턴) --> HTML 렌더링 예외에 많이 사용public class GlobalControllerAdvice { /** * (개발시에 많이 활용) * 모든 예외 클래스를 알 수 없기 때문에 로깅으로 확인할 수 있도록 설정 * 로깅처리 - 동기적 방식(System.out.println), @slf4j (비동기 처리 됨) */// @ExceptionHandler(Exception.class)// public void exception(Exception e) {// System.out.println("-------..

728x90