java5 [gRPC/java] Header에 Custom Variable을 전달하고 사용하는 방법 (gRPC ServerInterceptor) gRPC에서는 클라이언트가 서버로 요청을 보낼 때 Header에 메타데이터를 추가 할 수 있다. 이 때, Interceptor를 사용하면 서버의 서비스 메서드에서 커스텀 헤더 값을 읽고 사용할 수 있다.이 포스팅에서는 ServerInterceptor를 이용해 클라이언트가 보낸 헤더의 값을 서버에서 Context를 통해 서비스 메서드로 전달하는 방법을 설명해보고자 한다.1. gRPC Context Key 정의Context를 통해 값을 저장하고 읽기 위해 Context.Key를 정의.import io.grpc.Context;public class ContextKeys { // Context에 저장할 Key 정의 public static final Context.Key VAR_KEY = Contex.. 2024. 12. 17. [Spring Boot / MyBatis] DTO에 @Builder 사용하지 말것. MyBatis에서는 DTO 객체에 값을 넣어줄 때 기본 생성자로 객체를 생성한 뒤, setter method를 이용해 값을 넣어준다. @Builder 어노테이션이 있다면 Builder패턴을 위한 생성자만 정의하기 때문에, 기본 생성자가 없어 에러가 발생한다. - 해결방법 @NoArgsConstructor : 이 어노테이션을 사용해 기본 생성자를 관리하고, Builder 패턴에 해당하는 생성자가 필요하다면 해당 생성자를 직접 생성해준다. ( IDE의 생성자 generate 기능을 이용한뒤 생성자에 @Builder 어노테이션을 달아주자 ) https://tosuccess.tistory.com/179 [Spring Framework/스프링 프레임워크] DTO, VO에 @Builder 패턴 적용 시 Mybati.. 2023. 5. 16. Entity / DAO / DTO / VO 차이점 및 특징 평소 자주 사용하지만 각각의 의미와 용도에 대해 헷갈리는 부분이 있어 다시한번 짚고 정리하기 위해 작성하게 되었다. DTO ( Data Transfer Object ) DTO는 서로 다른 계층간 데이터를 전달하는데 사용되는 객체다. 주로 서비스계층과 컨트롤러 계층 사이에서 데이터를 전달하는 데 사용된다. DTO는 계층 간의 데이터 전달을 위해 여러 엔티티의 데이터를 포함하거나 원하는 형식으로 데이털르 조합할 수 있다. 즉, 서로 다른 계층이나 시스템 간 데이터 전달에 최적화된 형태의 객체다. DAO ( Data Access Object ) DAO는 데이터베이스에 접근하여 데이터 조회, 생성, 수정, 삭제하는 작업을 수행하는 객체다. DAO는 데이터베이스에 대한 접근을 캡슐화하여 데이터베이스와의 의존성을 .. 2023. 5. 7. [Maven] ERROR : Source option 5 is no longer supported. mvn install 시 나오는 에러 Source option 5 is no longer supported. Use 6 or later. Target option 1.5 is no longer supported. Use 1.6 or later. pom.xml 에 compiler 버전을 명시해서 해결. org.apache.maven.plugins maven-compiler-plugin 1.6 1.6 2022. 12. 12. [Java] Xml to Object java public static T xmlToObject(final String xml, Class valueType) throws IOException { mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); mapper.setSerializationInclusion(Include.NON_NULL); return mapper.readValue(xml, valueType); } 2021. 5. 26. 이전 1 다음