dapr / dapr/java-sdk

Support taking an ObjectSerializer as well on pubsub message handling

Offen
#597 3 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area/spring kind/enhancement P2 size/S triaged/resolved
Vorherrschende Sprache
Java
Sterne
300
Forks
230
Ø Merge
5 T. 1 Std.
Gemergte PRs (30 T.)
5

Beschreibung

## Describe the proposal

Porting a suggestion from user bencod#6730 in Dapr Discord:

> On publishing, Dapr client accepts message data as Object and it serialize the Object using ObjectSerializer - the Dapr one or user provided one.
>
> On message handling user receives a CloudEvent that has data which according to documentation is String or Json, or the binary data of the message.
>
> It requires user to deserialize the message. This behavior is not consistent with publishing serialization which is done by client.
> I would expect deserialization to be done by infra as well, to allow user to provide an ObjectSerializer and CloudEvent to be typed. Something as follows:
>
> ```java
> @Topic(name = "testTopic", pubsubName = "testPubSub", serializer = MyMsgObjectSerializer.class)
> public Mono handleMessage(@RequestBody(required = false) CloudEvent cloudEvent) {
> ...
> }
> ```

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie mit dem Lesen der Annotation @Topic und des Einstiegspunkts für die Verarbeitung von pubsub-Nachrichten; das Issue nennt keine Dateien oder Tests. Vergleichen Sie den vorgeschlagenen typisierten CloudEvent-Handler mit dem bestehenden Serialisierungsverhalten beim Veröffentlichen und klären Sie anschließend die Anforderungen an Serialisierung und Deserialisierung vor der Implementierung. Als abgeschlossen gilt die Aufgabe, wenn Benutzer einen ObjectSerializer bereitstellen und wie vorgeschlagen ein typisiertes CloudEvent erhalten können.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
api
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.