Целое число, равное 0, отсутствует в выходных данных с использованием GRPCv3 - PullRequest
0 голосов
/ 26 июня 2019

Я использую GRPCv3 на node.js

У меня есть файл .proto со следующим сообщением:

message ProductAvailabilityWithRatesResponse {
    // How many slots are available for this day/time. Mandatory.
    int32 capacity = 1;
    // Date for when this product is available. Mandatory.
    Date date = 2;
    // When does this event start? Unset if this product does not support times.
    Time time = 3;
    // When does a pickup for this product start? Unset if this product does not support times or pickups.
    Time pickupTime = 4;
    // Rates with prices. Mandatory (should at least have one entry).
    repeated RateWithPrice rates = 5;
}

на сервере с помощью console.log я вижу этот вывод:

{ capacity: 1,
  date: { year: 2019, month: 7, day: 1 },
  rates: [ { rateId: 1, pricePerPerson: [Object] } ],
  time: { hour: 9, minute: 0 } }

и на клиенте, использующем node.js тоже:

{ rates:
   [ { rateId: '1',
       pricePerPerson: [Object],
       pricingOptions: 'pricePerPerson' } ],
  capacity: 0,
  date: { year: 2019, month: 7, day: 1 },
  time: { hour: 9, minute: 0 },
  pickupTime: null }

но другой человек, использующий Java-клиент, говорит мне, что видит:

2019-06-26 10:59:39,442  ← getProductAvailability::grpc response {date { year: 2019 month: 7 day: 1 } time { hour: 9 } rates { rateId: "1" pricePerPerson { pricingCategoryWithPrice { pricingCategoryId: "30" price { currency: "EUR" amount: "145" } } pricingCategoryWithPrice { pricingCategoryId: "31" price { currency: "EUR" amount: "150" } } } }}

где емкость не установлена. Если его значение равно 1, а не 0, все работает хорошо везде. Является ли это возможным? Как я могу заставить сервер вывести значение? Я уже пытался использовать емкость = parseInt (емкость)

...