ts 使用 grpc ts-proto 的一点问题

13次阅读

共计 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

求大佬们帮小弟看看这两个问题😙😙😙

正文完
 0