Я обновился до Cloud Endpoints 2.0, который больше не поддерживает RPC. Поэтому я создал новый документ обнаружения и использовал генератор служб с документом обнаружения REST в качестве входных данных для создания клиентской библиотеки для своего приложения iOS.
Используя новый документ обнаружения REST, я получаю следующую ошибку при попытке создать библиотеку:
~/workspace/google-api-objectivec-client-for-rest/Source/Tools/ServiceGenerator/build/Release/ServiceGenerator discovery/servUsApi-v1-rest.discovery --outputDir GTLAPI --gtlrFrameworkName GoogleAPIClientForREST
ERROR: Failure, exception: Looking at parameter 'creditKickbackKash:creditAmount', found a type/format pair of 'number/(null)', and don't how to map that to Objective-C
Я смог исправить это вручную, добавив (во многих местах) в документ обнаружения «формат»: «двойной» ключ и значение для всех двойных параметров. Обратите внимание, что в CreditAmount ниже отсутствует формат, как и во всех других двойных значениях.
Сгенерированный документ обнаружения выглядит следующим образом:
"creditKickbackKash": {
"httpMethod": "PUT",
"id": "servUsApi.admin.creditKickbackKash",
"parameterOrder": [
"userId",
"creditAmount"
],
"parameters": {
"userId": {
"format": "int64",
"location": "path",
"required": true,
"type": "string"
},
"creditAmount": {
"location": "path",
"required": true,
"type": "number"
}
},
"path": "creditKickbackKash/{userId}/{creditAmount}",
"response": {
"$ref": "ResultDTO"
},
"scopes": [
"https://www.googleapis.com/auth/userinfo.email"
]
}
У кого-нибудь еще есть эта проблема? Как я могу заставить генерацию документа обнаружения правильно форматировать документ, включая типы двойных чисел?