micronaut-gcp
micronaut-gcp copied to clipboard
Use Map or POJO for MessageHeader
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