스프링부트13 [TIL] 2022-12-29(44day) Spring Exception 👉 웹 어플리케이션의 에러 # HTTP 상태 코드 종류 - 2xx Success → 200번대의 상태코드는 성공을 의미. - 4xx Client Error → 400번대의 상태코드는 클라이언트 에러, 즉 잘못된 요청을 의미. - 5xx Server Error → 500번대의 상태코드는 서버 에러, 즉 정확한 요청에 서버쪽 사유로 에러가 난 상황을 의미. # org.springframework.http > HttpStatus 더보기 public enum HttpStatus { // 1xx Informational CONTINUE(100, Series.INFORMATIONAL, "Continue"), // ... // 2xx Success OK(200, Series.SUCCES.. 2022. 12. 29. [TIL] 2022-12-28(43day) Project MySelectShop - OAuth2 👉 OAuth (Open Standard for Authorization) - API 허가(Authorize)를 목적으로 JSON 형식으로 개발된 HTTP 기반의 보안 프로토콜 - 사용자들이 사용하고자 하는 웹사이트 및 애플리케이션에 비밀번호를 제공하지 않고 접근 권한을 부여 받을 수 있게 해주는 공통적 수단으로서 사용 되어지는 기술 👉 User.java 수정 private Long kakaoId;// Kakao Id 추가 // Kakao 사용자를 등록할때 Kakao Id를 넣어줘야하기 때문에 생성자 추가 public User(String username, Long kakaoId, String password, String email, UserRole.. 2022. 12. 28. [TIL] 2022-12-27(42day) Project MySelectShop - Security 👉 Security에서 JWT를 사용한 인증/인가의 흐름 사용자는 회원가입을 진행한다. 해당 URI 요청은 permitAll 처리하고 사용자의 입력값으로 service에서 회원가입을 진행한다. 사용자의 정보를 저장할 때 비밀번호를 암호화하여 저장한다. PasswordEncoder를 사용하여 비밀번호를 암호화 한 후 저장한다. 사용자는 로그인을 진행한다. 해당 URI 요청은 permitAll 처리하고 사용자의 입력값으로 service에서 회원 인증을 진행한다. (비밀번호 일치여부 등) 사용자 인증을 성공하면 사용자의 정보를 사용하여 JWT 토큰을 생성하고 Header에 추가하여 반환한다. Client 는 이를 쿠키저장소에 저장한다. 사용자는 게시글 .. 2022. 12. 28. [TIL] 2022-12-26(41day) Spring Security 👉 Spring Security 란? # 개념 - Spring Security' 프레임워크는 스프링 서버에 필요한 인증 및 인가를 위해 많은 기능을 제공해 줌으로써 개발의 수고를 덜어준다. # 스프링 시큐리티 적용하는 방법 - '스프링 시큐리티' 프레임워크 추가 // 스프링 시큐리티 implementation 'org.springframework.boot:spring-boot-starter-security' - '스프링 시큐리티' 활성화 하기 WebSecurityConfig (springboot 2.7이상) package com.sparta.springsecurity.config; import org.springframework.context.annotation.Bean; i.. 2022. 12. 27. [TIL] 2022-12-23(40day) JPA 연관관계 👉 연관관계 Aa 관계 코드 선언 Entity 예 다대일(N:1) @OneToMany Order(1) : Food(N) 배달 주문 1개에 음식 여러개 선택 가능 다대일(N:1) @ManyToOne Owner(N) : Restraunt(1) 음식점 주인 여러명이 하나의 음식점을 소유 가능 일대일(1:1) @OneToOne Order(1) : Coupon(1) 배달 주문 1개 주문 시, 쿠폰 1개만 할인 적용 가능 다대다(N:N) @ManyToMany User(N) : Restraunt(N) 고객은 음식점 여러개 찜 가능 음식점은 고객 여러명에서 찜 가능 # Member Entity @Getter @Entity @NoArgsConstructor public class Member { @Id .. 2022. 12. 26. [TIL] 2022-12-14(33day) AllInOneController의 한계점 👉 AllInOneController의 한계점 - 한 개의 클래스에 너무 많은 양의 코드가 존재 (코드 이해가 어려움: 처음부터 끝까지 다 읽어야 코드 내용을 이해할 수 있음) - 현업에서는 코드 추가 혹은 변경 요청이 계속 생김 ex) 관심 상품 등록 시 Client 에게 응답 (Response) 하는 값 변경(등록된 Product 전체 정보 → 등록된 Product 의 id) 최저가 (Myprice) 업데이트 조건 변경(Client 가 최저가를 0원 이하로 입력 → 에러 발생) DB 테이블 이름 변경(Product 테이블의 **lprice** → **lowprice** 변경) 👉 절차적 프로그래밍 vs 객체지향 프로그래밍 # 절차적 프로그래밍 - 초기 프로그.. 2022. 12. 14. 이전 1 2 3 다음