springboot(7)
-
[Docker] Springboot + MySQL + Selenium을 도커 컨테이너 환경에서 운영하기
AWS에 Docker를 이용하여 배포하기 위해 Docker컨테이너 환경에서 Springboot, MySQL, Selenium를 운영테스트를 진행했다. 구현 환경 JDK 17 JetBrains MySQL 8.3.0 Springboot 3.2.4 gradle Intellij 1. 아래에 두 파일을 프로젝트 최상위 폴더에 작성하고 시작하면 된다. Dockerfile FROM openjdk:17 WORKDIR /app ARG JAR_FILE=build/libs/*.jar COPY ${JAR_FILE} /app.jar ENTRYPOINT ["java", "-jar", "/app.jar"] docker-compose.yml version: '3.8' services: mysql: image: mysql:8-orac..
2024.04.17 -
[Springboot] JWT(Json Web Token)를 사용하여 안전하게 Json데이터를 전송하자(2)
이전 JWT 사용하기에 이어 인코딩을 통해 토큰을 받는 방법 1. PostMapping으로 jwt 응답 요청 2. 토큰 생성 메소드 구현 3. 스코프 생성 메소드 구현(받아온 값들로 토큰데이터들을 합쳐 반환.
2024.03.31 -
[Springboot] JWT(Json Web Token)를 사용하여 안전하게 Json데이터를 전송하자(1)
https://jwt.io/ JWT.IO JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. jwt.io JSON Web Token (JWT)은 정보를 안전하게 전송하기 위한 방법으로, JSON 형식의 객체를 사용합니다. JWT는 Header, Payload, Verify Signnature으로 구성되어 있습니다. 헤더(Header): 토큰의 유형(JWT)과 사용되는 서명 알고리즘(HMAC SHA256 또는 RSA 등)으로 구성됩니다. 페이로드(Payload): 클레임을 포함하며, 클레임은 엔터티(일반적으로 사용자) 및 추가 데이터에 대한 진술입니다..
2024.03.31 -
[Springboot] JUnit5를 통한 단위(unit) 테스트 작성
Junit Junit은 자바에서 가장 많이 사용되는 테스팅 프레임워크이고 Junit5 버전을 사용하여 테스트를 진행하였다. 단위(Unit) 테스트 단위 테스트의 범위는 모든 테스트 중 가장 작은 수준의 테스트이기 떄문에 정밀하게 오류를 파악하기에 좋은 테스트 방법이다. 테스트 코드 작성(intellij) public class Math { public int Sum(int[] numbers) { int sum = 0; for (int num : numbers) { sum += num; } return sum; } } 테스트에 사용하기 위한 Sum함수를 작성. Math 클래스를 열고 Go To -> Test -> new create file Junit5선택후 테스트 클래스 이름, 메소드 등을 선택하여 생성..
2024.03.28 -
[RestApi] Versioning 버전 관리 방법
1. URI versioning http://localhost:8080 /v1/person http://localhost:8080 /v2/person @GetMapping("/v1/person") public PersonV1 getFirstVersionOfPerson() { return new PersonV1("Bob Charlie"); } @GetMapping("/v2/person") public PersonV2 getSecondVersionOfPerson() { return new PersonV2(new Name("Bob", "Charlie")); } 2. Request Parmeter versioning http://localhost:8080/person?version=1 http://localho..
2024.03.19 -
[RestApi] 유효성 검사(spring-boot-starter-validation)
Add Dependency Gradle implementation 'org.springframework.boot:spring-boot-starter-validation' Maven org.springframework.boot spring-boot-starter-validation 사용 어노테이션 : @Valid, @Size, @PastOrPresent @Valid : 유효성 검사를 원하는 Entity 앞에 작성 @PostMapping("/users") @ResponseBody public ResponseEntity createUser(@Valid @RequestBody User user) { User saveUser = service.save(user); URI location = ServletUriCo..
2024.03.19