1. List 생성 new 로 List를 생성하고, add() 함수로 리스트에 값을 추가해 줄수 있지만 코드를 보다 짧게 작성하고 싶을땐 asList 함수를 사용하여 생성하면 됩니다. 그리고 생성된 List를 ArrayList로 만들고 싶을 땐, addAll() 함수로 List의 모든 값을 넣어주면 됩니다. // List 생성 List list = Arrays.asList("item1", "item2"); // List로 ArrayList 생성 ArrayList arrayList = new ArrayList(); arrayList.addAll(list); 2. 빈 List 생성 예외적인 케이스에 비어있는 리스트를 만들기 위해 종종 사용합니다. List list = Collections.emptyList();
목차 Docker를 활용하여 Local 환경에 MariaDB 설치 및 구동 하는 것을 알아보겠습니다. 1. MariaDB 이미지 설치 $ docker pull mariadb:10.4.21 먼저 설치하고자 하는 데이터베이스의 버전의 tag를 아래 링크에서 확인합니다. https://hub.docker.com/_/mariadb?tab=tags&page=1&ordering=last_updated 확인 후, 위의 명령어와 설치를 원하는 이미지 tag를 입력합니다. 2. MariaDB 컨테이너 실행 $ docker container run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 mariadb:10.4.21 $ docker container ps | grep mariadb 7..
Spring에서 파일 업로드 REST API를 만들기 위해서는 HTTP POST와 MultipartFile을 인자로 간단하게 만들 수 있습니다. 아래와 같이 컨트롤러에 Post endpoint를 만든 후, MultipartFile을 인자로 넣어줍니다. 그리고 로직을 구현할 Service 빈에 MultipartFile 객체를 넘겨줍니다. @RestController public class UploadController { UploadFileService uploadFileService; public UploadController(UploadFileService uploadFileService) { this.uploadFileService = uploadFileService; } @PostMapping("/..
API 서버를 개발하면 JUnit 테스트로 테스트도 하지만, endpoint를 호출하여 테스트를 하는 경우도 많이 있습니다. 보통 Postman에서 프로젝트를 만들고, 개별 request를 작성하여 테스트를 진행합니다. Postman이라는 좋은 툴을 활용하여, 여러 장점들을 취할 수가 있지만 별도 프로그램을 띄워서 써야 하기 때문에 단순 테스트 용도로는 조금 번거로운 감이 없지 않아 있습니다. 그래서 개발툴에서( IntelliJ )에서 바로 http 요청을 하는 방법을 알아보겠습니다. 아래와 같이 New > HTTP Request 를 통해 HTTP 요청을 하는 파일을 생성합니다. ( .http 라는 파일이 생기게 되고, IntelliJ에서 .http 확장자를 인식하여 Http 요청을 하는 파일임을 알게 ..
일반적으로 Controller에서 Json Body를 받을 때는 DTO 클래스를 정의하여, 해당 클래스를 인자로 Body값을 받습니다. Jackson 라이브러리로 JSON과 POJO 간에 데이터바인딩을 이용하죠. 하지만, 개발을 하다보면 딱 고정된 규격이 아니라 확장가능한 유연한 규칙이 있는 가변 파라메터를 받기도 합니다. 저 같은 경우에는 json 바디를 받아 SQL Query를 구성하는 로직을 구현하였는데, 가용한 key 값들은 정해져있지만, Query 구성에 따라 전달되는 key값들과 level이 다릅니다. 이런 경우 아래와 같이 HashMap를 사용하여 Body를 받을수 있습니다. @RestController public class HashMapController { @PostMapping(pat..
먼저, DTO generator라는 플러그인을 설치해줍니다. 그리고 Code > Generate 에서 DTO from JSON을 선택합니다. 변환할 json 값을 입력하고, Validate를 눌러 유효성 확인을 합니다. Settings 탭으로 이동하여, 아래 화면과 같이 선택을 해줍니다. 마지막으로, generate 버튼을 눌러줍니다. 아래와 같이 DTO 코드가 생성되고, abstract를 삭제하여 objectmapper에서 오류가 나지 않도록 해주면 됩니다.
starter-test 의존성도 잘 추가가 되어있고, 테스트 코드도 test/java 경로에 잘 들어가 있는데, IntelliJ에서 아래 테스트 코드를 수행하면 junit 패키지를 찾지 못한다는 에러가 발생하는 경우가 있습니다. import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; import org.springframework.test.context.junit4.SpringRunner; import static org...
Dependency( Gradle ) implementation 'com.h2database:h2' H2 embedded 모드 spring: datasource: url: jdbc:h2:mem:testdb username: sa driver-class-name: org.h2.Driver h2: console: enabled: true H2 file 모드 Test 코드에서는 file에 데이터가 남지 않는다. 그냥 앱 실행을 하면, file에 데이터가 남아 있다. 그리고 Test 코드에서 ddl-auto를 create 로 했는데, 실제 테스트 돌아갈때 drop table을 하는데도 기존 데이터가 날아가지 않고 있다 앱 실행 시에는 drop 해서 파일에 있는 것이 다 날아감. 테스트 모드에서 실행하면, 임베디..
- Total
- Today
- Yesterday
- JSON
- Linux
- apm
- tomcat
- intellij
- Log
- install
- JPA
- mac
- elasticsearch
- AWS
- spring
- SpringBoot
- Git
- Filter
- Java
- logstash
- error
- plugin
- gradle
- maven
- docker
- Index
- Kibana
- spring boot
- Spark
- scala
- Container
- Size
- Postman
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |