我在 proto 文件中定义了一个 message
message ArticleUpdateReq {
optional string title = 3;
}
当我通过 ts-proto 生成的代码作为客户端发送请求时发现:即使我客户端不传递 title 字段,在服务端接收数据的时候 title 也会有一个空字符串的默认值 "",这导致了我无法判断用户是删除了 title ,还是没有修改 title(用的 java mp ,原本是传的 null 的话就视为没有修改,传 "" 就视为删除)
我查阅了下资料,说可以写成
message ArticleUpdateReq {
optional google.protobuf.StringValue title = 3;
}
我看了一下生成的 java 服务端生成的代码,雀氏没有默认值""了,但又出现了一个新的问题:
ts-proto 生成新的代码并发送请求报错了:
Request message serialization failure: .article.ArticleUpdateReq.title: object expected
求大佬们帮小弟看看这两个问题😙😙😙
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.