kafkajs / confluent-schema-registry

is a library that makes it easier to interact with the Confluent schema registry
https://www.npmjs.com/package/@kafkajs/confluent-schema-registry
MIT License
154 stars 101 forks source link

Problem with google.protobuf.StringValue #238

Open zion03 opened 1 year ago

zion03 commented 1 year ago

Hi! I have the following proto-buff schema:

message User {   
string firstName = 1;
google.protobuf.StringValue email = 2;
}

And payload looks like this:

{
firstName: "User name",
email: 'user@email.com'
}

And I'm receiving following error:

{
    "error": {
        "message": "invalid payload",
        "paths": [
            [
                "email.object expected"
            ]
        ],
        "correctBodyExample": " { \"firstName\": \"User name\",   \"email\": \"user@email.com\"}"
    }
}

But when I convert email into the object it works correctly:

{
firstName: "User name",
email: { value: 'user@email.com' }
}

Could you advise how to fix this problem? Thanks!

alphaspl0it commented 1 year ago

Hi. There's a couple of things you could try.

It isn't clear if you have imported the proto reference at the start of your proto file?

And have you tried using double quotes for the email field of the payload?

Let me know if either of those work.

alphaspl0it commented 1 year ago

@zion03 did this work? 🤞

aleksanderaleksic commented 5 months ago

Same problem for me with the following schema:

syntax = "proto3";

import "google/protobuf/wrappers.proto";

message PowerData {
  google.protobuf.StringValue powerSource = 1;
  google.protobuf.StringValue batteryStatus = 2;
  google.protobuf.StringValue lastUpdated = 3;
  google.protobuf.DoubleValue powerSourceVoltage = 4;
  google.protobuf.DoubleValue batteryVoltage = 5;
  google.protobuf.Int32Value batteryPercent = 6;
  google.protobuf.BoolValue batteryLow = 7;
  google.protobuf.BoolValue batteryChargeOk = 8;
  google.protobuf.BoolValue psuOk = 9;
}