Spring & Spring Boot 14

[Spring&SpringBoot] ChapGPT Stream으로 응답받기

준비물 : OpenAI Secret API Key https://firstws.tistory.com/63 [OpenAI] OpenAI API Key 발급 받기(feat.chatGPT) 0. OpenAI API Key OpenAI에서 개발한 인공지능 모델들을 외부에서 사용할 수 있도록 인증하는 역할을 합니다. OpenAI는 다양한 유형의 인공지능 모델을 제공하는데요, 대표적인 모델을 살펴보면 아래와 firstws.tistory.com 0. Postman으로 Test 해보기 method : POST url : https://api.openai.com/v1/chat/completions Headers Setting Content-Type : application/json Authorization : ${Ope..

[Spring&SpringBoot] OpenAI 이미지 생성 API 사용하기

준비물 : OpenAI Secret API Key https://firstws.tistory.com/63 [OpenAI] OpenAI API Key 발급 받기(feat.chatGPT) 0. OpenAI API Key OpenAI에서 개발한 인공지능 모델들을 외부에서 사용할 수 있도록 인증하는 역할을 합니다. OpenAI는 다양한 유형의 인공지능 모델을 제공하는데요, 대표적인 모델을 살펴보면 아래와 firstws.tistory.com 1. Postman으로 Test 해보기 method : POST url : https://api.openai.com/v1/images/generations Headers Setting Content-Type : application/json Authorization : ${O..

[Spring&SpringBoot] ChatGPT Spring에서 사용하기

일단 OpenAI Secret API Key 가 필요합니다. https://firstws.tistory.com/63 [OpenAI] OpenAI API Key 발급 받기(feat.chatGPT) 0. OpenAI API Key OpenAI에서 개발한 인공지능 모델들을 외부에서 사용할 수 있도록 인증하는 역할을 합니다. OpenAI는 다양한 유형의 인공지능 모델을 제공하는데요, 대표적인 모델을 살펴보면 아래와 firstws.tistory.com 1. Postman으로 Test해보기 method : POST url : https://api.openai.com/v1/chat/completions Headers Setting Content-Type : application/json Authorization : ..

[Spring&Spring Boot] @Transaction, rollback이 안될 때가 있다??

@Transaction 어노테이션을 걸고 service 로직을 구현 및 테스트를 진행하다가 예외가 발생했으나 DB에는 데이터가 저장되는 기이한 현상을 겪어 (주니어라 그래요 이해좀) 다른 분들도 혹시 겪는다면 빠르게 해결되길 바라는 마음으로 글을 써봅니다. Spring 프레임워크에서 @Transactional 어노테이션은 트랜잭션 관리를 쉽게 해주는 기능을 제공합니다. @Transactional 어노테이션을 사용하면, 메소드가 실행될 때 트랜잭션을 시작하고, 메소드가 정상적으로 실행되면 트랜잭션을 커밋하고, 예외가 발생하면 롤백합니다. 제가 체크하는 로직에 예외처리를 했고 여기서 에러가 터질때마다 DB에 데이터는 저장되는데 로직이 진행이 안되는 문제가 발생했습니다. ...???? 분명 난 @Transac..

[SpringBoot] 엑셀 값 가져오기(.xls & .xlsx)

엑셀에는 두 가지 확장자가 있습니다. .xls : 97-03 통합문서로 과거의 엑셀 파일. HSSF~ .xlsx : 요즘 엑셀 문서의 확장자명. XSSF~, SXSSF~(대용량처리) gradle implementation 'org.apache.poi:poi:5.2.2' implementation 'org.apache.poi:poi-ooxml:5.2.2' import import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.ss.usermodel.*; 저는 Amazos S3에서 inputStream으로 가져와 파일을 읽는 경우입니다. (Mult..

[SpringBoot] LocalDateTime 받기(클라이언트Json→서버)

Postman - Json 작성 { "sendDate" : "2023-01-18T11:22:33" } 받을 DTO의 변수에 다음과 같이 셋팅하기 public class TransferInfoDto { //@JsonDeserialize(using = LocalDateDeserializer.class) //@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'hh:mm:ss", timezone = "Asia/Seoul") @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss") private LocalDateTime sendDate; } (...주석은 많은 방법을 시도한 흔적...무시하세요!) @DateT..

[Swagger] DTO에서 parameter 숨기기

특정 DTO 필드 Parameter Swagger 문서상에서 Hidden 시키기 Request DTO에서 Parameter 하나를 추가해 쿼리를 돌리려하는데 몇가지 고민이 생겼습니다. 1. 요청받을 정보에는 필요없지만 쿼리문을 태울땐 필요한 파라미터가 하나 있다. 2. DTO에 넣자니 swagger에 보여서 싫고, 받은 DTO를 Map이나 또 다른 DTO를 만드는 것도 싫다. (Parameter 하나만 추가되기 때문) 3. 요약 : DTO에 parameter를 추가하되 swagger에 보이고 싶지 않다! 여러가지를 써본 결과 제일 간단한 방법을 찾아서 공유해봅니다. public static class UserDto { private String name; @ApiModelProperty(hidden = ..

[SpringBoot] 원시타입, 참조타입/Boolean boolean의 차이점 및 이슈

Boolean 참조 타입 : reference type true, false, null 값을 가진다. 주로 Null 체크를 필요로할 때 참조형을 사용한다. boolean 원시 타입 : primitive type true, false 값을 가진다. Null 체크가 불필요할 때 자료형(원시 타입)을 사용한다. 참조 타입과 원시 타입의 차이 자료형(원시 타입) : int, float, double, boolean, ... 참조형 : Integer, Float, Double, Boolean, ... 자료형을 객체로 감싼 것이 참조형이다. → Unboxing 원시 타입은 null 입력 가능, 제네릭 타입에서 사용 불가. 참조형은 null 입력 불가, 제네릭 타입에서 사용 가능. 원시 타입은 데이터를 stack메모..

[MyBatis] resultType 정리(feat. List<DTO>로 리턴받기)

1. MyBatis-Mapper resultType 정리 alias(별칭) Data Type(데이터 타입) string String date Date map Map hashmap HashMap list List arraylist ArrayList decimal BigDecimal bigdecimal BigDecimal biginteger BigInteger _byte byte _long long _short short _int int _integer int _double double _float float _boolean boolean _byte[] byte[] _long[] long[] _short[] short[] _int[] int[] _integer[] int[] _double[] double[]..