JSON
-
kafka message queue를 service 사이의 메시지 전송의 매개체로 사용하는 경우각 서비스들에서 메시지를 produce, consume 하는 dto class가 다를 수 있다. 이러한 경우에 어떻게 spring-kafka 설정을 가져가야 하는지 알아보도록 하자. 기본 kafka 설정 spring: kafka: producer: value-serializer: org.springframework.kafka.support.serializer.JsonSerializer consumer: value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer 보통은 위와 같이 어떠한 종류의 s..
[Kafka] Serializer, Deserializerkafka message queue를 service 사이의 메시지 전송의 매개체로 사용하는 경우각 서비스들에서 메시지를 produce, consume 하는 dto class가 다를 수 있다. 이러한 경우에 어떻게 spring-kafka 설정을 가져가야 하는지 알아보도록 하자. 기본 kafka 설정 spring: kafka: producer: value-serializer: org.springframework.kafka.support.serializer.JsonSerializer consumer: value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer 보통은 위와 같이 어떠한 종류의 s..
2024.06.26 -
API를 호출할 때 content-type으로 보통 application/json을 많이 사용한다. 몇몇 코드에서 content-type을 application/x-www-form-urlencoded로 지정하는 것을 보았는데 각각의 차이가 무엇이 있는지, 어떠한 경우에 구분해서 사용하는지 알아보자. application/x-www-form-urlencoded // x-www-form-urlencoded key1=value1&key2=value2 html form을 통한 POST 전송 방식 중 가장 기본이 되는 Content-Type 보내는 데이터를 url 인코딩 후 웹 서버에 보내는 방식 인코딩이 필요하기 때문에 크기가 큰 데이터에 대해 해당하는 방식으로 보내기가 적합하지 않다 x-www-form-url..
[Web] application/json & application/x-www-form-urlencodedAPI를 호출할 때 content-type으로 보통 application/json을 많이 사용한다. 몇몇 코드에서 content-type을 application/x-www-form-urlencoded로 지정하는 것을 보았는데 각각의 차이가 무엇이 있는지, 어떠한 경우에 구분해서 사용하는지 알아보자. application/x-www-form-urlencoded // x-www-form-urlencoded key1=value1&key2=value2 html form을 통한 POST 전송 방식 중 가장 기본이 되는 Content-Type 보내는 데이터를 url 인코딩 후 웹 서버에 보내는 방식 인코딩이 필요하기 때문에 크기가 큰 데이터에 대해 해당하는 방식으로 보내기가 적합하지 않다 x-www-form-url..
2024.05.29 -
코드 내부에서 java의 다형성 특징을 이용해서 abstract, interface를 이용해 기능을 작성하는 경우가 있다. 이러한 경우에 하나의 application 내에서만 호출되는 관계가 아니고, 다른 application에 메시지로 전달되거나 redis와 같은 storage에 저장되는 경우 object를 string이나 byte로 변환하는 과정이 필요하게 된다. 해당 과정에서 abstract, interface를 사용하게 되면 실제로 deserialize 되는 시점에 해당 정보가 어떠한 concrete class에 매핑되는지에 대한 정보가 필요하게 된다. 이러한 구체적인 정보가 없이는 serialize 된 정보가 다시 객체로 변환되기는 불가능하다. @JsonTypeInfo를 사용하면 이러한 문제를 ..
[Java] 다형성 serialize (jackson, JsonTypeInfo)코드 내부에서 java의 다형성 특징을 이용해서 abstract, interface를 이용해 기능을 작성하는 경우가 있다. 이러한 경우에 하나의 application 내에서만 호출되는 관계가 아니고, 다른 application에 메시지로 전달되거나 redis와 같은 storage에 저장되는 경우 object를 string이나 byte로 변환하는 과정이 필요하게 된다. 해당 과정에서 abstract, interface를 사용하게 되면 실제로 deserialize 되는 시점에 해당 정보가 어떠한 concrete class에 매핑되는지에 대한 정보가 필요하게 된다. 이러한 구체적인 정보가 없이는 serialize 된 정보가 다시 객체로 변환되기는 불가능하다. @JsonTypeInfo를 사용하면 이러한 문제를 ..
2024.04.13