Как представить XMLGregorianCalendar в формате protobuf 3 - PullRequest
0 голосов
/ 28 января 2020

У меня есть xml со временем как

<Opened date="2012-09-13T18:30:34+05:30" Lang_Code="ENG"></Opened>

Мне нужно представить его в формате proto3 и отправить сгенерированные классы java. какой тип данных использовать? Я пробовал google.protobuf.Timestamp, но это не соответствует требованиям.

syntax = "proto3";

message Opened{

  <what data type?> date =1;

  string lang_code=2;

}

1 Ответ

1 голос
/ 28 января 2020

Возможно, вы захотите, по крайней мере, рассмотреть , используя сообщение DateTime в google / type / datetime.proto - это репо, которое мы (Google) используем для нашей публикации. c Прототипы API, включая поддерживающие типы, такие как DateTime.

Возможно, вы захотите задокументировать и проверить, что:

  • Значение year никогда не будет равно 0
  • Значение hour никогда не будет 24
  • Значение seconds никогда не будет 60 (если вы на самом деле не планируете поддерживать високосные секунды)
  • time_offset oneof всегда будет заполняться через utc_offset

Конечно, вы можете создать свой собственный прото с аналогичной информацией, если вы будете sh. Там нет готового сообщения, которое включает в себя то, что вам нужно, поэтому вам нужно будет использовать некоторое сообщение, если вы не хотите просто оставить его в виде строки (что я бы не стал рекомендую).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...