프로그래밍(Backend)/Spring Boot(6)
-
[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 -
[Springboot] Logger로 로그 출력하기
개발도중 변수나 상태에 대해서 콘솔창에 출력하여 확인하고 싶을때 System.out.println()등을 사용해 출력했었는데 이번엔 Logger을 통한 Logging을 사용해보았다. 로깅을 하기 위해 우선 다음의 클래스들을 임포트 시킨다. import org.slf4j.Logger; import org.slf4j.LoggerFactory; 그 다음 변수 logger을 선언하였다. private Logger logger = LoggerFactory.getLogger(getClass()); 로깅에 사용되는 로그레벨 종류는 총 5가지가 있는데 가장 순위가 높은 순으로 Error > Warn > Info > Debug > Trace 가 있다. Springboot에서 사용하기 위해 application.prope..
2024.03.16