共计 464 个字符,预计需要花费 2 分钟才能阅读完成。
我在 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
求大佬们帮小弟看看这两个问题😙😙😙
正文完