Spring Boot

·Spring Boot
회원가입을 할 때 특정 형식의 값일 때에만회원가입이 가능하게 하려면 어떻게 해야할까?      환경 --IntelliJ community  2023.1.5Spring Boot 3.2.1JDK 17 build.gradle [ dependencies ]implementation 'org.springframework.boot:spring-boot-starter-validation'기존 'org.springframework.boot:spring-boot-starter-web' 의존성 안에 validation이 포함되어 있었지만Spring Boot 2.3 부터는 포함되어 있지 않기 때문에 따로 validation 의존성을 추가해야한다.만약 @Valid가 아니라 @Validated 어노테이션을 사용한다면 해당 의존..
·Spring Boot
공통된 예외 처리에 대한 코드가 자주 있다면이를 통일 시켜서 코드를 줄일 수 있는 방법이 무엇일까?      Spring에서 제공하는 기능 --Spring에서는 모든 @Controller 클래스에 대해 처리할 수 있도록 제공하는 기능이 있다. @ControllerAdvice@RestControllerAdvice  @ControllerAdvice는Spring MVC 패턴일 때 주로 사용되며 주로 HTML와 같은 View를 응답한다. @RestControllerAdvice는@ControllerAdvice + @ResponseBody로RESTful API에서 주로 사용되며 주로 JSON 또는 XML과 같은 데이터를 응답한다.  그리고 Spring..
·Spring Boot
결제 부분에서는 어떻게 구현을 해야할까? 환경 -- IntelliJ Community 2023.1.5 Spring Boot 3.2.1 JDK 17 build.gradle [ dependencies ] repositories { mavenCentral() // 포트원(구 아임포트)은 maven 기반으로 의존성을 추가한다. (여기에 jitpack.io를 추가하면 gradle에서도 iamport라이브러리를 추가할 수 있다.) maven { url 'https://jitpack.io' } } dependencies { // 포트원(구 아임포트) 라이브러리 implementation 'com.github.iamport:iamport-rest-client-java:0.2.23' } 포트원은 maven 기반의 라이브..
·Spring Boot
쇼핑몰에서 JWT를 이용하여 로그인 기능을 구현하려면코드를 어떻게 작성해야 할까?      환경 --IntelliJ Community 2023.1.5Spring Boot 3.2.1JDK 17 build.gradle  [ dependencies ]implementation 'org.springframework.boot:spring-boot-starter-security'testImplementation 'org.springframework.security:spring-security-test'implementation 'io.jsonwebtoken:jjwt-api:0.11.5'implementation 'io.jsonwebtoken:jjwt-impl:0.11.5'implementation 'io.jsonw..
·Spring Boot
Spring에서 제공하는 Security는 어떻게 이루어져 있는가? Spring Security란? -- Spring 프레임워크의 기반으로 만들어진 애플리케이션에서 보안을 담당하는 프레임워크이다. 주로 인증(Authentication), 권한 부여 또는 인가(Authorization), 보안 설정 등을 처리하는 데에 활용된다. 인증과 권한 또는 인가는 Filter 흐름에 따라서 처리된다. Filter는 Servlet(Dispatcher Servlet)으로 가기 전에 동작하므로 간단하게 설명하자면 HTTP 요청을 먼저 받아서 컨트롤러에 넘기기 전에 해당 요청을 먼저 검증하여 올바른 요청인지 판단한다. Dispatcher Servlet이란? HTTP 요청을 가장 먼저 받아서 적합한 컨트롤러에 전달해주는 프론..
·Spring Boot
데이터를 새로 추가하거나 수정했을 때 당시의 날짜와 누가 했는지도 같이 데이터에 저장하려면 어떻게 해야 할까? Auditing 엔티티를 생성하거나 수정을 할 때 해당 시간과 수행한 사람을 찾기 위해서 사용한다. (생성일, 수정일, 생성자, 수정자) 스프링 데이터 JPA에서 제공하는 Auditing 1. 처음 스프링 부트를 설정해주는 클래스에 @EnableJpaAuditing 어노테이션을 적용시켜준다. @EnableJpaAuditing @SpringBootApplication public class ShoppingApplication { public static void main(String[] arg) { SpringApplication.run(ShoppingApplication.class, args);..
·Spring Boot
클라이언트에게 데이터만 반환하는 것이 아니라상태 코드도 함께 반환하고 싶을 때 어떻게 할까?      대표적인 방법 두 가지 반환 타입으로 ResponseEntity를 사용하기@RestControllerAdvice와 @ControllerAdvice 어노테이션을 사용하기    ResponseEntity HTTP 응답을 나타내는 클래스(REST API의 응답을 위해 사용하는 클래스)로클라이언트에게 응답의 상태코드, 헤더, 바디(body)를 포함하여 반환한다.  각 응답할 데이터는 status()     -     상태코드 작성 공간header()     -     헤더 작성 공간body()     -     바디 작성 공간를 사용해서 상태코드, 헤더, 바디를 반환한다.  status() 안에 상태 코드를 작..
·Spring Boot
application.yaml에 다양한 설정들을 해주었는데이 설정들이 무엇을 설정해 주는 것일까?      application.ymlspring: datasource: url: "jdbc:h2:mem://localhost/~/shopping;MVCC=TRUE" username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create defer-datasource-initialization: true properties: hibernate: show_sql: true format_sql: true dialect: org.hi..
아-니지
'Spring Boot' 카테고리의 글 목록 (2 Page)