micronaut-gcp icon indicating copy to clipboard operation
micronaut-gcp copied to clipboard

Use Map or POJO for MessageHeader

Open j1cs opened this issue 3 years ago • 0 comments

Feature description

Having the following code;

@PubSubClient(project = "${gcp.project-id}")
public interface ProductPubSubClient {
    @Topic("${pubsub.topic-name}")
    String send(
            DataDto dataDto,
            @MessageHeader(name = "eventId") UUID eventId,
            @MessageHeader(name = "eventType") String eventType,
            @MessageHeader(name = "entityId") String entityId,
            @MessageHeader(name = "entityType") String entityType,
            @MessageHeader(name = "timestamp") long timestamp,
            @MessageHeader(name = "datetime") OffsetDateTime datetime,
            @MessageHeader(name = "version") String version,
            @MessageHeader(name = "country") String country,
            @MessageHeader(name = "commerce") String commerce,
            @MessageHeader(name = "channel") String channel,
            @MessageHeader(name = "capability") String capability,
            @MessageHeader(name = "mimeType") String mimeType
    );
}


String response = this.productPubSubClient.send(
                    productDto.getData(),
                    productDto.getEventId(),
                    productDto.getEventType(),
                    productDto.getEntityId(),
                    productDto.getEntityType(),
                    productDto.getTimestamp(),
                    productDto.getDatetime(),
                    productDto.getVersion(),
                    productDto.getCountry(),
                    productDto.getCommerce(),
                    productDto.getChannel(),
                    productDto.getCapability(),
                    productDto.getMimeType()
            );

it is possible to use a Map of or POJO as Headers? To avoid write multiples times @MessageHeader

j1cs avatar Nov 19 '21 21:11 j1cs