Closed carlosjpedro closed 6 years ago
I cannot reproduce what you see. Which version of AutoRest are you using?
What I do see: the Swagger contains "additionalProperties": false
which AutoRest doesn't support currently - but it is the default behavior, so removing those lines from the Swagger makes it work as expected. Then, I get a full client with the following files and what seems to be all operations in the client.
./AccountInformationAPIs.cs
./AccountInformationAPIsExtensions.cs
./IAccountInformationAPIs.cs
./Models/Body.cs
./Models/BodyData.cs
./Models/CreateAccountRequestCreatedResponse.cs
./Models/CreateAccountRequestCreatedResponseData.cs
./Models/CreateAccountRequestHeaders.cs
./Models/DeleteAccountRequestHeaders.cs
./Models/GetAccountBalancesHeaders.cs
./Models/GetAccountBalancesOKResponse.cs
./Models/GetAccountBalancesOKResponseDataItem.cs
./Models/GetAccountBalancesOKResponseDataItemAmount.cs
./Models/GetAccountBalancesOKResponseDataItemCreditLine.cs
./Models/GetAccountBalancesOKResponseDataItemCreditLineAmount.cs
./Models/GetAccountBalancesOKResponseLinks.cs
./Models/GetAccountBalancesOKResponseMeta.cs
./Models/GetAccountBeneficiariesHeaders.cs
./Models/GetAccountBeneficiariesOKResponse.cs
./Models/GetAccountBeneficiariesOKResponseDataItem.cs
./Models/GetAccountBeneficiariesOKResponseDataItemCreditorAccount.cs
./Models/GetAccountBeneficiariesOKResponseDataItemServicer.cs
./Models/GetAccountBeneficiariesOKResponseLinks.cs
./Models/GetAccountBeneficiariesOKResponseMeta.cs
./Models/GetAccountDirectDebitsHeaders.cs
./Models/GetAccountDirectDebitsOKResponse.cs
./Models/GetAccountDirectDebitsOKResponseDataItem.cs
./Models/GetAccountDirectDebitsOKResponseDataItemPreviousPaymentAmount.cs
./Models/GetAccountDirectDebitsOKResponseLinks.cs
./Models/GetAccountDirectDebitsOKResponseMeta.cs
./Models/GetAccountHeaders.cs
./Models/GetAccountOKResponse.cs
./Models/GetAccountOKResponseDataItem.cs
./Models/GetAccountOKResponseDataItemAccount.cs
./Models/GetAccountOKResponseDataItemServicer.cs
./Models/GetAccountOKResponseLinks.cs
./Models/GetAccountOKResponseMeta.cs
./Models/GetAccountProductHeaders.cs
./Models/GetAccountProductOKResponse.cs
./Models/GetAccountProductOKResponseDataItem.cs
./Models/GetAccountProductOKResponseLinks.cs
./Models/GetAccountProductOKResponseMeta.cs
./Models/GetAccountRequestHeaders.cs
./Models/GetAccountRequestOKResponse.cs
./Models/GetAccountRequestOKResponseData.cs
./Models/GetAccountsHeaders.cs
./Models/GetAccountsOKResponse.cs
./Models/GetAccountsOKResponseDataItem.cs
./Models/GetAccountsOKResponseDataItemAccount.cs
./Models/GetAccountsOKResponseDataItemServicer.cs
./Models/GetAccountsOKResponseLinks.cs
./Models/GetAccountsOKResponseMeta.cs
./Models/GetAccountStandingOrdersHeaders.cs
./Models/GetAccountStandingOrdersOKResponse.cs
./Models/GetAccountStandingOrdersOKResponseDataItem.cs
./Models/GetAccountStandingOrdersOKResponseDataItemCreditorAccount.cs
./Models/GetAccountStandingOrdersOKResponseDataItemFinalPaymentAmount.cs
./Models/GetAccountStandingOrdersOKResponseDataItemFirstPaymentAmount.cs
./Models/GetAccountStandingOrdersOKResponseDataItemNextPaymentAmount.cs
./Models/GetAccountStandingOrdersOKResponseDataItemServicer.cs
./Models/GetAccountStandingOrdersOKResponseLinks.cs
./Models/GetAccountStandingOrdersOKResponseMeta.cs
./Models/GetAccountTransactionsHeaders.cs
./Models/GetAccountTransactionsOKResponse.cs
./Models/GetAccountTransactionsOKResponseDataItem.cs
./Models/GetAccountTransactionsOKResponseDataItemAmount.cs
./Models/GetAccountTransactionsOKResponseDataItemBalance.cs
./Models/GetAccountTransactionsOKResponseDataItemBalanceAmount.cs
./Models/GetAccountTransactionsOKResponseDataItemBankTransactionCode.cs
./Models/GetAccountTransactionsOKResponseDataItemMerchantDetails.cs
./Models/GetAccountTransactionsOKResponseDataItemProprietaryBankTransactionCode.cs
./Models/GetAccountTransactionsOKResponseLinks.cs
./Models/GetAccountTransactionsOKResponseMeta.cs
./Models/GetBalancesHeaders.cs
./Models/GetBalancesOKResponse.cs
./Models/GetBalancesOKResponseDataItem.cs
./Models/GetBalancesOKResponseDataItemAmount.cs
./Models/GetBalancesOKResponseDataItemCreditLine.cs
./Models/GetBalancesOKResponseDataItemCreditLineAmount.cs
./Models/GetBalancesOKResponseLinks.cs
./Models/GetBalancesOKResponseMeta.cs
./Models/GetBeneficiariesHeaders.cs
./Models/GetBeneficiariesOKResponse.cs
./Models/GetBeneficiariesOKResponseDataItem.cs
./Models/GetBeneficiariesOKResponseDataItemCreditorAccount.cs
./Models/GetBeneficiariesOKResponseDataItemServicer.cs
./Models/GetBeneficiariesOKResponseLinks.cs
./Models/GetBeneficiariesOKResponseMeta.cs
./Models/GetDirectDebitsHeaders.cs
./Models/GetDirectDebitsOKResponse.cs
./Models/GetDirectDebitsOKResponseDataItem.cs
./Models/GetDirectDebitsOKResponseDataItemPreviousPaymentAmount.cs
./Models/GetDirectDebitsOKResponseLinks.cs
./Models/GetDirectDebitsOKResponseMeta.cs
./Models/GetProductsHeaders.cs
./Models/GetProductsOKResponse.cs
./Models/GetProductsOKResponseDataItem.cs
./Models/GetProductsOKResponseLinks.cs
./Models/GetProductsOKResponseMeta.cs
./Models/GetStandingOrdersHeaders.cs
./Models/GetStandingOrdersOKResponse.cs
./Models/GetStandingOrdersOKResponseDataItem.cs
./Models/GetStandingOrdersOKResponseDataItemCreditorAccount.cs
./Models/GetStandingOrdersOKResponseDataItemFinalPaymentAmount.cs
./Models/GetStandingOrdersOKResponseDataItemFirstPaymentAmount.cs
./Models/GetStandingOrdersOKResponseDataItemNextPaymentAmount.cs
./Models/GetStandingOrdersOKResponseDataItemServicer.cs
./Models/GetStandingOrdersOKResponseLinks.cs
./Models/GetStandingOrdersOKResponseMeta.cs
./Models/GetTransactionsHeaders.cs
./Models/GetTransactionsOKResponse.cs
./Models/GetTransactionsOKResponseDataItem.cs
./Models/GetTransactionsOKResponseDataItemAmount.cs
./Models/GetTransactionsOKResponseDataItemBalance.cs
./Models/GetTransactionsOKResponseDataItemBalanceAmount.cs
./Models/GetTransactionsOKResponseDataItemBankTransactionCode.cs
./Models/GetTransactionsOKResponseDataItemMerchantDetails.cs
./Models/GetTransactionsOKResponseDataItemProprietaryBankTransactionCode.cs
./Models/GetTransactionsOKResponseLinks.cs
./Models/GetTransactionsOKResponseMeta.cs
I am using version 1.1.2 - I think its the latest version. I am calling autorest with the following parameters: Autorest --input-file="account-info-swagger.json" --output-folder=generated --csharp --namespace=Org.Openbanking --verbose
Listing the generated files I get this: Volume in drive C is WINDOWS Volume Serial Number is 6040-4015
Directory of C:\Code\Open Banking\generated
04/09/2017 10:30
Directory of C:\Code\Open Banking\generated\Models
04/09/2017 10:30
Total Files Listed:
4 File(s) 20,754 bytes
5 Dir(s) 108,564,459,520 bytes free
But you are right, removing "additionalProperties" properties from the swagger results in all the generated code being generated.
Most recent version is 1.2.2, but that small difference should not matter. I'm surprised that it generates anything at all for you if the additionalProperties
are present - but glad that removing them makes it work 👍 Note that AutoRest handles additionalProperties
as per the spec, which expects a schema instead of a boolean (which is the JSON schema way, but seems to be overridden by the Swagger 2.0 spec). OpenAPI 3.0 explicitly supports both boolean and schema. I'll leave this issue open as a reminder for us, maybe we'll add support for booleans prior to as a preparation for accepting OpenAPI 3.0.
When generating a client from the openbanking swagger only the delete account method is generated. https://www.openbanking.org.uk/wpcore/wp-content/uploads/2017/07/account-info-swagger.json
using http://editor.swagger.io the generated client is complete