1. WebFlux에서 de.flapdoodle.embed:de.flapdoodle.embed.mongo 라이브러리는 내장 mongodb를 지원한다. 1-1 기본적으로 테스트 용도로 만들어졌다. 2. 보통은 test 용도로 사용되며 gradle에서는 testImplemetation으로 지정되어 테스트에서만 활성화 된다. 2-1 아래는 Spring initializr에서 gradle로 지정하여 생성한 build.gradle파일이다. 기본적으로 test로 지정되어 있다. plugins { id 'org.springframework.boot' version '2.3.3.RELEASE' id 'io.spring.dependency-management' version '1.0.10.RELEASE' id 'java..
1. OpenAPI 3.0은 swagger 3.0의 다른 이름이다. 2. maven에 단 하나의 라이브러리만 추가하면 된다. 아래 내용만 추가하면 swagger ui도 같이 사용할 수 있다. org.springdoc springdoc-openapi-ui 1.4.6 3. 기본적인 접근경로는 이전과 동일하다. 3-1 JSON -> http://localhost:8080/v3/api-docs/ 3-2 swagger ui -> http://localhost:8080/swagger-ui.html 4. 기본설정 4-1 OpenAPI 3.0이 되면서 기본설정이 훨씬 간단해 졌다. 4-1-1 만일 하나의 Docket이 필요한 경우는 아래처럼 application.properties에서 지정할 수 있다. 4-1-1 이것..
1. Swagger는 REST를 문서화하는데 도움을 주는 도구이다. REST는 SOAP처럼 표준이 없지만 표준처럼 사용되고 있다. 2. pom 설정에서 여러가지 swagger라이브러리를 지정할 수 있다. 여기서는 가장 많이 사용하는 springfox을 예시햔다. 2-1 귀찮아서 다 붙였는데, 버전에 보면 io.springfox.version이 있다. 2-2 io.springfox의 group id를 가지는 라이브러리가 2개가 추가되어 있다. 4.0.0 org.springframework.boot spring-boot-starter-parent 2.3.3.RELEASE pe.pilseong restdemo 0.0.1-SNAPSHOT restdemo Demo project for Spring Boot 11 ..
1. 체계적으로 작성하는 것이 아니라 그냥 코드를 쓰다가 붙여 둔다. 2. 아래는 컨트롤러 유닛 테스트이다. package pe.pilseong.restdemo.controller.v1; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.Mockito.when; import java.util.Arrays; import java.util.List; import com.fasterxml.jackson.databind.ObjectMapper; import org.hamcrest.Matchers; import org.junit.jupite..
1. MapStuct은 lombok과 유사하게 동작하는 코드를 생성해 주는 라이브러리이다. 1-1 https://mapstruct.org/documentation/stable/reference/html/ 문서를 참고 한다. 2. 주된 목표는 하나의 클래스를 다른 클래스로 변환해주는 기능을 Annotation으로 지원 한다. 3. 공식 홈페이지는 https://mapstruct.org 이고 아래와 같이 Maven에 설정하면 된다. 3-1 1.3.1 버전기준이다. 3-2 두개의 artifacts가 필요하다. 3-2-1 mapstruct: @Mapping 같은 annotation을 정의한다. 3-2-2 mapstruct-processor: 코드를 생성해주는 Annotation 처리 프로세스를 수생한다. .....
1. WebFlux를 테스트할 경웨는 WebTestClient를 사용해야 한다. 1-1 우선 WebTestClient을 해당 함수와 바인드하는 부분이 필요하다. 1-2 바인드 후에 WebMvc를 테스트 하듯 사용하면 된다. package pe.pilseong.recipe.controller; import static org.mockito.Mockito.when; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.springframework.http.MediaType; import org.springframework.test.web.rea..
1. 우선 빌드 파일에 starter-web 대신 starter-webflux를 지정한다. 1-1 기본적으로 tomcat을 사용할 수 없게 되고, servlet에 관련된 내용은 전부 에러가 발생한다. 1-2 파일 업로드에 사용한 multipart 같은 것도 servlet을 사용하므로 제대로 동작하지 않게 된다. /* * This file was generated by the Gradle 'init' task. */ plugins { id 'org.springframework.boot' version '2.3.1.RELEASE' id "io.freefair.lombok" version "5.1.1" id 'io.spring.dependency-management' version '1.0.10.RELEASE..
1. 내장 mongodb를 사용하여 통합테스트 할 때 1-1 java.net.ConnectException: Connection refused (Connection refused)가 많이 발생할 경우가 있다. 1-2 mongodb의 기본 접속 포트는 27017인데 이것을 그냥 두는 경우에 발생하는 것 같다. 1-3 스프링에서 알아서 정해주도록 아래처럼 port를 0으로 지정하면 이런 문제가 사라진다. 1-3-1 왜 그런지는 알 수가 없다. CircleCI에서도 마찬가지로 동작한다. 1-3-2 정말 짜증나는 것은 이렇게 하면 Robo3T로 DB에 접속 후 데이터 보려고 하면 포트를 매번 지정해야 한다. logging.level.pe.pilseong.recipe=debug spring.data.mongodb..
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- spring boot
- 스프링부트
- 설정하기
- Security
- MYSQL
- 외부파일
- 상속
- Spring
- Angular
- Rest
- 로그인
- WebMvc
- one-to-many
- login
- 자바
- 하이버네이트
- 매핑
- mapping
- RestTemplate
- crud
- form
- Spring Security
- XML
- jsp
- hibernate
- Many-To-Many
- 설정
- one-to-one
- Validation
- 스프링