使用 go-zero 做 curd ,proto 里面 重复的字段怎么优化?

1. 运行环境

message NoticeAddReq {
  int64 BankId = 1;  //  银行id
  int64 Kind = 2; //  类别,0:纪念币,1:维护公告
  int64 ReadNum = 3; //  阅读数
  int64 LikeNum = 4; //  喜欢数
  string Area = 5; //  地区code
  string OriNoticeUrl = 6;   //  原文地址
  int64 Status = 7;  //  状态,1:正常,0:禁用
  string Title = 8;  //  标题
  string Content = 9;  //  内容
  string PublishDate = 10; //  发布日期
}

message NoticeAddResp {
  int64 Id = 1; //
  int64 BankId = 2;  //  银行id
  int64 Kind = 3; //  类别,0:纪念币,1:维护公告
  int64 ReadNum = 4; //  阅读数
  int64 LikeNum = 5; //  喜欢数
  string Area = 6; //  地区code
  string OriNoticeUrl = 7;   //  原文地址
  int64 Status = 8;  //  状态,1:正常,0:禁用
  string Title = 9;  //  标题
  string Content = 10;  //  内容
  string PublishDate = 11; //  发布日期
  string CreateAt = 12;      //  `created` time
  string  UpdateAt = 13;    //  `updated` time
}

2. 问题描述?

proto 里面 message 重复的字段怎么优化?

最佳答案
message NoticeAddReq {
  int64 BankId = 1;  
  int64 Kind = 2;
  int64 ReadNum = 3;
  int64 LikeNum = 4;
  string Area = 5;
  string OriNoticeUrl = 6;   
  int64 Status = 7;  
  string Title = 8;  
  string Content = 9;  
  string PublishDate = 10;
}

message NoticeAddResp {
  oneof request_payload {
    NoticeAddReq req = 1;

    int64 Id = 2;
    string CreateAt = 3;  
    string UpdateAt = 4;
  }
}
4个月前 评论
讨论数量: 2
message NoticeAddReq {
  int64 BankId = 1;  
  int64 Kind = 2;
  int64 ReadNum = 3;
  int64 LikeNum = 4;
  string Area = 5;
  string OriNoticeUrl = 6;   
  int64 Status = 7;  
  string Title = 8;  
  string Content = 9;  
  string PublishDate = 10;
}

message NoticeAddResp {
  oneof request_payload {
    NoticeAddReq req = 1;

    int64 Id = 2;
    string CreateAt = 3;  
    string UpdateAt = 4;
  }
}
4个月前 评论
巴啦啦

是可以嵌套的,详见上一楼。

4个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!