일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Crawling
- 리액트
- AuthenticatoinProvide
- openapi3
- MFA
- Spring REST Docs
- MSA
- vue
- SWAGGER
- cheerio
- Spring Security
- cloud native
- vuejs
- preventdefault
- gradle
- axios
- OpenStack
- REACT
- Pender
- tasklet
- Reduxpender
- UsernamePasswordAuthenticationFilter
- stopPropogation
- SpringRESTDocs
- T-OTP
- Spring Batch
- SpringBoot
- JavaScript
- Flyway
- Filter
- Today
- Total
목록SpringBoot (6)
Miracle Morning, LHWN
# 앞서 만들어주었던 API 에 대한 테스트 코드를 작성한다. 아래와 같이 /api/user/{id} 요청에 대한 응답 명세를 작성해주고, 실행하면 generated-snippets 하위 폴더에 각 요청/응답에 대한 snippet 들이 생성된다. // test/java/com/spring/SpringRESTDocsPractice/UserApiDocumentation.java @RunWith(SpringRunner.class) @SpringBootTest public class UserApiDocumentation { @Rule public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation(); @Autowired pr..
사전 세팅 및 개념 정리 # 먼저 Spring initializr 에서 기본 세팅을 한 후 프로젝트를 생성한다. Spring Web : API 를 만들기 위해 설정 Spring Data JPA : 데이터베이스에서 CRUD 를 하기 위한 설정 (ORM 도구) Validation : Bean 의 유효성 검사를 위한 설정 Spring REST Docs Lombok : 로그를 좀 더 편하게 보기 위한 설정 MySQL Driver : MySQL 를 연동하기 위한 설정 # 문서화를 위한 API 생성 : POST /api/user 조회 : GET /api/user/{id} 수정 : PUT /api/user 삭제 : DELETE /api/user/{id} # 실습 순서 프로젝트 생성 실습에 필요한 테스트 API 코..
# 파일명을 정의할 때 역시 Flyway 가 인식할 수 있도록 명명규칙을 따라주어야 하며, 여기선 'V3__bulk_update_books.java' 로 지정하였다. 이때 경로는 src/java 하위에 바로 db/migration 경로를 생성해주었고 그 안에 java 파일을 위치한다. BaseJavaMigration 을 상속받아 migrate 함수를 Override 하여 사용해주면 된다. createStatement 를 통해 쿼리를 생성할 수 있는 객체를 만들고, SELECT 를 통해 가져온 rows 를 하나하나 while 문으로 돌려가며 UPDATE 쿼리를 날려주었다. package db.migration; import org.flywaydb.core.api.migration.BaseJavaMigrat..
API (Application Programming Interface) : 대부분 Server-Side (Back-end) 에서 제공되며, 데이터의 조작 (CRUD) 를 하기 위한 기술이다. # API 문서를 왜 만들어야 할까? '제공자' ↔ '사용자' 사용방법 공유/협의 API 버전 및 변경사항 관리 # 현업에서 운영하는 API 문서화 File (Word, Excel...) Wiki (Web) 그 외 # 기존 방식의 단점 버전 변경 등 수정에 취약 API 와 문서 상태가 다를 수 있음 (버전, 오류 등) 검증되지 못한 문서 Spring REST(Representational State Transfer) Docs RESTful 서비스에 대한 정확하고 읽기 쉬운 문서를 생성하도록 돕는 것이 목적이다. 테스..
# 이번에는 API 형태로 Flyway 를 사용해보고, 데이터의 신뢰성을 위해 실행될 때마다 (1) 초기화 Clean - (2) Migrate 의 순서로 수행할 것이다. 이때 Clean 하는 작업을 따로 Class 로 분리하여 Configuration annotation 을 지정한다. # 먼저 API 형태로 Flyway 를 사용하기 위해 데이터베이스 정보를 설정한다. // FlywayConfig.java package com.springJPAPractice.springJPAPractice.Configs; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; im..
# gradle Project 를 생성해서 Flyway 를 사용해본다. # 우선 프로젝트에 SQL 주소, user 정보 등을 설정하고 ddl-auto 가 어떤 방식으로 반영될지를 설정해준다. // /main/resources/application.properties spring.datasource.url=jdbc:mysql://localhost:3306/db_example spring.datasource.username=sa spring.datasource.password=password spring.jpa.hibernate.ddl-auto=none # 그리고 flyway 가 데이터베이스에 접근할 때 사용하는 정보를 명시해주어야 하는데 여기에서는 REAL 환경과 TEST 환경을 분리하여 작성했다. (RE..