넥사크로에서 API 호출시 Json Format 오류 발생 해결방법 : JsonFormat(with = Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
넥사크로 UI화면에서 API호출시 List<DTO>타입의 데이터를 인자로 받을때 서버단에서 JSON Format 오류가 발생할 경우가 있다. 오류해결방법 아래쪽 예시와 같이 @JsonFormat(with = Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY) 어노테이션을 정의하여 Single row...
[SpringBoot] Swagger 기능 사용을 위한 설정 및 예제 코드
Swagger(스웨거)는 RESTful API 서비스를 편리하게 문서화 해주고, 이를 통해서 관리 및 제 3의 사용자가 편리하게 API를 호출하고 테스트할 수 있도록 해주는 도구이다. Swagger 의존성 추가...
[스프링부트] OpenFeign (오픈페인) 개발 예제 코드 템플릿
OpenFeign은 MS내에서 타MS의 API를 쉽게 호출할 수 있도록 도와주는 오픈소스이다. API를 호출하는 OpenFeign Client 인터페이스와 호출한 api가 오류가 발생할때 동작하는 FallFactory 클래스 2개의 java파일로 구성된다....
[자바] BigDecimal 초기값 설정 / 비교(compareTo) / 사칙연산 / 형변환 총정리
BigDecimal은 java.math.BigDecimal 라이브러리를 import하여 사용하게되는데 다음 예제 처럼 다른 데이터 타입과 다르게 null인값을 문자열로 형변환하면 오류가 발생한다. BigDecimal bdc = null; String.valueOf(bdc); 반드시 null 체크...
[스프링부트] 동적쿼리(DynamicSql) 작성방법 Sql.java 구현 예제
Sqls.java 파일로 쿼리를 작성할때 동적쿼리를 Mybatis Provider를 사용하여 구현하는 방법에 대한 기록이다. 마이바티스를 이용한 동적쿼리 작성방법은 다음과 같다. [Mybatis 3] 마이바티스 동적SQL 사용 예제 총정리...
[오라클 힌트] ORDERED USE_NL , LEADING Hint절 사용방법 의미!
오라클 힌트(HINT)는 옵티마이저의 실행계획을 개발자 혹은 DBA가 원하는 방향으로 유도하기 위해 사용된다. 튜닝의 목표는 디스크 I/O를 최소화하고 버퍼 캐시 효율을 최대화하는 것이다. SQL 실행계획을 보았을때...
[Spring batch] 배치 실행시 chunk 방식과 tasklet 방식의 배치를 종료 처리하는 방법(StepConstribution)
스프링배치를 개발하다보니 중간에 배치를 종료하려면 어떻게하지? throw new RuntimeException 처리하면되나? Chunk 방식에서 종료 ItemProcessor에서 조건에 따라 return null를 하게되면 다음 단계인 writer로 가지않고 종료된다. Tasklet...
[JAVA] @JsonIgnore (Swagger 테스트시 무시)및 @JsonProperty 어노테이션 사용방법 (Jackson 어노테이션)
Swagger로 Api를 테스트할 때 dto(VO) 클래스에 선언된 변수들 중에 임시로 사용하는 변수가 있거나 혹은 입력인자로 사용되지 않는 변수가 있다면 @JsonIgnore 어노테이션을 선언한 변수 위에 추가해주면...
[JAVA] 자바 문자열 자를때 한글이 포함된 경우 getBytes()로 byte 배열 처리 후 Arrays.copyOfRange() 메소드를 이용하여 처리
Pro*C로 개발된 배치서비스를 자바 스프링배치로 변환하는 작업을 하는데 특정경로에 있는 데이터 파일을 읽은 후 문자열을 잘라서 DTO(VO)에 담은 후 데이터베이스에 저장하는 월배치인데 문자열의 총 길이는 ...
[Android:JAVA] onBackPressed() Deprecated에 따른 대응책 해결방법
안드로이드 앱 개발시 TargetSdk 버전을 34로 올리는 경우, onBackPressed()를 더이상 액티비티에서 사용할 수 없게되었다. 동일한 기능을 구현하기 위해서는 onCreate()에서 getOnBackPressedDispatcher() 메소드를 선언해주고 callBack메소드를 구현하여 처리하면...