스터디

스터디

[SpringBoot] Swagger2 - java.lang.NumberFormatException: empty String

스웨거를 설정하다 보면 위처럼 NumberFormatException 이 발생하는 경우가 있다. 이 문제는 swagger의 annotations와 models 를 Downgrade 하여 해결할 수 있다. Build.grade implementation("io.swagger:swagger-annotations:1.5.21") implementation("io.swagger:swagger-models:1.5.21") buld.grade에 위와 같은 의존성을 추가해주면 된다. reference: https://velog.io/@gillog/SpringBoot-Swagger-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0

스터디

스프링부트 JUnit5 - Error creating bean with name 'securityConfig' defined in file 해결법

" JUnit Error creating bean with name 'securityConfig' defined in file " 스프링 시큐리티를 추가하고 JUnit의 @WebMvcTest로 컨트롤러를 테스트할 때 아래와 같은 오류에 직면할 수 있다. 에러 메시지를 확인해보면 이는 SecurityConfig 에 대한 Bean 생성 관련 문제로 보인다. Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'securityConfig' defined in file ~ 이 문제에 대한 해결책을 알아보자 다음은 @WebMvcTest어노테이션의 스캔 범위이다. @Contro..

스터디

[SpringBoot] 빌드시 Command line is too long. 문제 해결법

가끔 인텔리제이x스프링부트 환경에서 코딩 시에 이러한 에러가 발생한다. 나는 테스트 클래스 작성중 이러한 문제가 발생했다. 문제 해결법은 간단하다. " 루트 디렉토리 - .idea - workspace.xml " 에 있는 태그에 위처럼 dynamic.classpath property를 추가해주면 해결된다.

스터디

테스트 주도 개발 TDD / BDD, 그리고 애자일

테스트 주도 개발 TDD / BDD 이번 여름 방학동안 기존 개발했던 흐릿 프로젝트를 함께 했던 팀원분과 리팩터링하는 시간을 갖기로 하였다. 그리고 주어진 시간에 쫓겨 테스트 코드를 작성하지 못하였던 것이 후회되어 TDD 방법론을 적용하여 다시 디벨롭 해보려고 하였기에 테스트 방법론에 대하여 공부하고 기록하게 되었다. 애자일 방법론? 테스트 방법론을 공부하며 들어는 봤지만 정확히 뭘 뜻하는 지는 몰랐던 에자일 방법론에 대해서 공부했다. 애자일 소프트웨어 개발 선언 우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고있다. 이 작업을 통해 우리는 다음을 가치 있게 여기게 되었다: = 공정과 도구보다 개인과 상호작용을 = = 포괄적인 문서보다 작동하는 ..

스터디

[객체지향 / 스프링] DI 와 IoC란 무엇인가

DI 와 IoC 지난 시간에는 SOLID 원칙에 대해 알아봤다. [객체지향] SOLID 원칙이란? 🌳 SOLID 원칙 오늘은 객체지향 개발의 5가지 원칙인 SOLID 원칙에 대해 공부해보았다. S,O,L,I,D 는 각각 단어의 첫 글자이며 합하여 솔리드 원칙이라고 부른다. 지금부터 솔리드 원칙에 대해 알아보 pgmjun.tistory.com SOLID원칙은 좋은 객체지향 프로그램을 만들기 위한 중요한 원칙이다. 하지만 스프링 없이 일반적으로 개발하게 된다면 DIP와 OCP 원칙을 어기게 될 뿐만 아니라, 원칙에 맞게 코드를 끼워 맞추다 보면 실제 비즈니스 로직보다 DIP, OCP를 위한 코드가 훨씬 많아지는 일이 발생한다. 이때 실질적인 해결책이 바로 DI와 IoC라는 개념이다. IoC (Inversio..

스터디

[객체지향] SOLID 원칙이란?

🌳 SOLID 원칙 오늘은 객체지향 개발의 5가지 원칙인 SOLID 원칙에 대해 공부해보았다. S,O,L,I,D 는 각각 단어의 첫 글자이며 합하여 솔리드 원칙이라고 부른다. 지금부터 솔리드 원칙에 대해 알아보자. 🌱 SRP ( Single Responsibility Principle ) SRP는 Single Responsibility Principle 의 약자이며 말그대로 단일 책임 원칙을 뜻한다. 하나의 클래스는 하나의 책임만 가져야 한다는 원칙이다. 하나의 책임이라는 것은 굉장히 모호한 표현이다. "클 수도 있고 작을 수도" 있으며 "문맥과 상황에 따라" 다르다. 중요한 기준은 변경이다. 변경이 있을 때 파급 효과가 크다면 단일 책임 원칙을 제대로 지키지 못한 것이 된다. 🌱 OCP ( Open C..

스터디

[SpringBoot] 스프링 시큐리티, JWT, OAuth2 사용해서 카카오 로그인 구현하기(1) - jwt, oauth, 스프링 시큐리티란?

프로젝트 중 로그인 기능 구현을 위해 JWT, OAuth2 를 사용해서 카카오 로그인하기 구현을 해보았다. 우선 오늘은 jwt, oauth2, 스프링 시큐리티란 무엇인지 알아보는 시간을 갖도록 하자. JWT 🔒 Jwt란 Json Web Token 의 줄임말로 '인증에 필요한 정보들을 암호화시킨 토큰' 이며, 서버와 클라이언트 통신 시 HTTP header에 실어 인증 수단으로 사용된다. JWT의 구조 JWT는 위와 같은 구조로 디코드 되어있는데 . 을 중심으로 Header, Payload, Signiture 로 나누어진다. 1. Header Jwt의 헤더는 alg와 typ으로 구성되어 있다. "alg" : 암호화할 해싱 알고리즘 "typ" : 토큰의 타입 2. Payload Payload는 위와 같은 형..

스터디

[SpringBoot] 스프링부트 Swagger 2 적용법 및 예외 처리

오늘은 스프링부트에 Swagger2를 적용하는 방법에 대해 알아보려한다. Swagger란? Swagger는 API가 어떤 Spec을 가진 데이터를 주고 받는지 시각적으로 확인할 수 있도록 도와주는 API 문서 자동화 프레임워크이다. 위와 같이 API URI를 확인할 수 있을 뿐더러 직접 파라미터를 입력해 테스트도 진행할 수 있는 엄청난 프레임워크다. 적용 이제 이 Swagger를 직접 사용할 수 있도록 적용해보자. 우선 의존성을 추가해주어야한다. build.gradle // springfox-swagger-ui implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2' implementation group: 'i..

PgmJUN
'스터디' 카테고리의 글 목록