
오늘은 테스트코드 작성하는 방법을 리뷰 하겠습니다. 실제로 프로젝트를 진행하면서 개인적으로 많이 느낀 점은 테스트코드를 작성하지 않고 진행 한다면 개발할 부분이 추가되거나, 유지 및 보수를 할 때 코드에 대해서 매우 헷갈리는 경우가 많았습니다. 그래서 개발을 하면서

Java 단위테스트 작성에는 기본적으로 2가지 라이브러리가 사용됩니다.JUnit 하나로도 충분한 단위 테스트를 작성할 수 있다. 그러나 JUnit에서 제공하는 assertEquals()와 같은 메소드는 AssertJ에 있는 메소드에 비해 가독성이 떨어집니다.그러므로,

MockMVC란? > MockMvc는 웹 어플리케이션을 애플리케이션 서버에 배포하지 않고 테스트용 MVC환경을 만들어 요청 및 전송, 응답기능을 제공해주는 유틸리티 클래스다. 컨트롤러 테스트를 하고 싶을 때, 실제 서버가 아닌 테스트용으로 시뮬레이션 하여 MVC가 되

간단한 CRUD 게시판에 대한 테스트를 진행하다가 에러가 떴다. 코드 에러로그 이런 에러가 떴다. 여기서 주목할 메시지는 "java.lang.AssertionError: No value at JSON path "$.id" " 이다. AssertionError ->

프로젝트를 진행하면서 처음으로 User에 대한 회원가입, 로그인을 맡았다. 개인적으로 처음으로 맡아서 미숙한 점과 부족한 부분, 처음 알게 된 내용들을 많이 접했기 때문에 스프링 시큐리티에 대한 공부를 다시 진행하는 중이다.스프링 시큐리티 공부를 다시하면서 정리한 내용

JWT(JSON Web Token)은 당사자 간에 정보를 JSON 형태로 안전하게 전송하기 위한 토큰이다.JWT는 URL로 이용할 수 있는 문자열로만 구성돼 있고(HTTP 구성 요소중 어디든 위치 가능), 디지털 서명이 적용돼 있어 신뢰 가능하다.서버와의 통신에서 권한

이번 포스트는 JwtProvider와 JwtAuthenticationFilter에 중점적으로 내용을 전달할 것입니다! User, UserDetailService, UserRepository는 다른 포스트에서 소개 하였기 때문에 코드만 작성하겠습니다.현재 ID 값은 인덱

Jwt_Security (2) 포스트에서 만든 jwtProvider와 jwtauthentication 등을 이용하고, 확장하여 회원가입과 로그인 Swagger문서를 활용한 RestApi를 구현하였습니다. RestApi는 UI를 사용하지 않아서 crsf()를 비활성화 하

Jwt와 Security 설정을 끝마쳤다. 전에 배운 내용이지만, 하나하나 구현하다 보니 어렵거나 헷갈리는 부분이 많았다.이제 Jwt와 Security에 관한 내용들을 구현하고, 설정 하였으니 jwt를 이용한 회원가입과 로그인 기능을 RestApi로 구현해 볼 것입니다

웹 애플리케이션을 통해 데이터베이스 등의 저장소에 리소스를 저장할 때 사용되는 API 입니다.GET API와 달리 POST API는 저장하고자 하는 리소스나 값을 HTTP바디에 담아 서버에 전달합니다.<실습 클래스 생성>이전과 동일하게 controller 패키지

PUT API는 웹 애플리케이션 서버를 통해 데이터베이스 같은 저장소에 존재하는 리소스 값을 업데이트 하는 데 사용합니다.POST API 와 비교하면 요청을 받아서 실제 데이터베이스에 반영하는 과정 (서비스 로직)에서 차이만 있을 뿐 컨트롤러를 구현하는 방법은 POS

스웨거는 Web API 문서화를 하는도구입니다.스웨거 홈페이지에서는 스웨거를 OAS(Open API Specification)이라고 소개하고 있습니다.말 그대로 API들이 가지는명세(Spec)을 관리하기 위한 프로젝트 입니다.Web API를 수동으로 문서화 하는 것은

웹 브라우저를 통한 동작 테스트는 간편하지만 상세한 응답을 확인할 수 없다는 단점이 있다.구글 크롬의 확장 프로그램인 Talend API Tester를 사용하면 이 같은 문제를 해결할 수 있다.크롬 브라우저 주소창에 ‘chrome://extensions/’를 입력하거나

jwt와 시큐리티를 이용한 게시판 REST API를 만들면서 생긴 오류입니다.스웨거를 이용하여 로그인을 후 JWT 토큰을 받습니다.User 1 : Board N 으로 매핑을 하였습니다. 그러나 user: null이 나왔고, 데이터베이스를 확인 user_id가 null이

항상 카카오톡이나 네이버 인증 또는 QR코드를 웹사이트와 연결시켜주는 광고 등을 보면서 궁금증이 많은 저에게 궁금한 호기심이 생겼습니다. 항상 신기해하고, 궁금한 내용이라 QR코드를 어떻게 제작하고, 스프링부트로 QR코드를 구현할 수 있을까 라는 궁금증이 생겨 QR코드

간단한 게시판을 만들거나 복잡한 프로젝트를 진행할때 RDBMS를 이용한다. RDBMS를 이용하면서, 테이블 하나로 모든 데이터를 관리할 수 없다. 즉, 테이블을 여러개 만들어 관련된 데이터들을 나누고, 관리한다. 필요시에는 테이블 조인(Join)하여 처리해야 한다.JP
만약에 데이터베이스에서 데이터를 수정할 때, 에외가 발생한다면 데이터베이스의 데이터들을 수정하기 전 상태로 돌아가야 하며, 다시 수정 작업을 진행해야 합니다. 이렇게 여러 작업을 진행하다가 예외가 발생하였을때, 이전 상태로 롤백하기 위해 사용하는 것을 트랜잭션이라 합니

WebSecurityConfigurerAdapter가 스프링시큐리티 5.7x 부터 지원중단 한다는 것을 보았습니다. 궁금증을 가지고, 구글링을 한 결과 실제 지원중단은 아니고 SecurityFilterChain Bean을 정의하는 것으로 권장하고 있다는 것을 확인하였습

엔티티를 생성한 후 위와 같은 에러가 떴습니다. 가장 눈에 띄는 문장은 No identifier specified for entity: com.springboot.securityjwt.entity.User 입니다.No identifier specified for ent

스프링 시큐리티를 공부하면서 필터에 대한 궁금증이 생겨 공부를 해보았습니다.필터 체인 이용하기맞춤형 필터 정의하기FilterInterface를 구현하는 스프링 시큐리티 클래스 이용해보기스프링 시큐리티에서 HTTP 필터는 HTTP 요청에 적용되는 다양한 책임을 위임합니다

저번 포스팅에서 FastAPI의 AI모델과 이미지처리 모델을 배포하였습니다. 그러나 POC 앱은 저번 포스팅에서 말한 것처럼 스프링부트가 클라이언트와 통신이 되고, 스프링부트는 서버단에서 FastAPI와 통신을 진행합니다.즉, 스프링부트를 따로 배포하고, FastAPI

프로젝트 개발중 Too Many Connections 오류가 떴습니다. 처음 보는 에러이기도 하고, 애초에 디비나 aws 서버에 접근이 되지 않았습니다.RDS를 사용하기 때문에 서버를 사용중인 다른 인원들에게 실행하고 있는 프로젝트를 종료시키라 하고, 제가 다시 접속해
안녕하세요! 이번 포스트에서는 기존에 사용하던 getter/setter 중심의 코드에서 벗어나, 객체지향적인 설계 원칙을 따르는 코드로 개선하는 과정을 공유하려고 합니다. 특히, Java와 Spring Boot 환경에서 setter 사용을 지양하고 명령형 메서드를 활용

프로젝트 기능 설명 이번 기능은 메인페이지에서 사용자의 공복혈당과 최근 혈당을 반환해야 했습니다. 아래 메인페이지의 상단 빨간 부분에 대한 api라고 생각하면 되겠습니다. 구현한 api 설명 사용자의 오늘날짜의 공복혈당 사용자의 오늘날짜의 가장 최근 혈당 수치 데이

이번 포스팅은 DispatcherServlet에 대해 공부한 내용을 정리한 글입니다.MVC패턴을 들어보고, 실제로 많이 사용하지만 왜 동작하는지, 어떠한 방식으로 동작하는지에 대한 내용을 생각하지 않고 사용하는 경우가 많습니다. 그래서 개념을 한번 더 숙지하면서 소스코

사내에서 사용할 WordAPI를 이용하여 특허 명세서를 자동으로 만들어주는 API를 개발하였습니다.즉, 변리사분들은 아래 사진과 같이 명세서를 직접 입력하여 관리,작업을 진행합니다. 그러나 이러한 과정들을 최소화 하기 위하여 WordAPI를 제작하고, 그것을 API로

HTTP의 한계URL을 통한 요청: HTTP를 통해 서버로부터 데이터를 가져오는 유일한 방법입니다.따라서 HTTP는 사용자가 URL을 요청할 때에만 서버에서 해당 페이지를 꺼내는 방식입니다.사용자는 새로운 정보를 받기 위해서 서버로부터 반드시 새로운 URL을 요청해야

CLOVA OCR 이란 CLOVA OCR은 NCloud에서 제작된 AI Service입니다. 사용자가 전송한 문서나 이미지를 인식하고, 분석하여 사용자가 지정한 영역에서 텍스트와 데이터를 추출하며 미리 등록한 템플릿과의 유사도를 통해서 사용자가 개입하지 않고도 문서를

토이 프로젝트 진행중 카카오 API 호출 시 401 Unauthorized 발생하였다.로그를 확인해보니 아래와 같이 뜨고 있었다.에러의 핵심은 ip mismatched 였다.즉, 카카오 디벨로퍼스에서 허용하지 않은 IP에서 요청이 들어와 발생한 문제였다.카카오 측에서