Support taking an ObjectSerializer as well on pubsub message handling
- 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
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