Skip to content

using the generated api client in multiple environments #36

@latompa

Description

@latompa

Heya, I generated a C# client from the openapi spec.

I noticed the generated API client will call paths relative to sandbox
For example TokenizeApi.CreateTokenizeWithHttpInfoAsync

Notice the path ...PostAsync<TokenizeResponseSchema>("/digitization/static/1/0/tokenize",

This works in sandbox,
baseURL https://sandbox.api.mastercard.com/mdes + path /digitization/static/1/0/tokenize

However if I were to use the same client in mtf or prod, the resulting path would include /digitization/static/1/0, which would fail.

According to the api reference, the environment domains are:

prod    https://api.mastercard.com/mdes/digitization/1/0/tokenize
mtf     https://api.mastercard.com/mdes/digitization/mtf/1/0/tokenize
sandbox https://sandbox.api.mastercard.com/mdes/digitization/static/1/0/tokenize

I could hack TokenizeApi (and the other Api classes) to ...PostAsync<TokenizeResponseSchema>("/1/0/tokenize",
and use different baseURLs like

https://api.mastercard.com/mdes/digitization
https://api.mastercard.com/mdes/digitization/mtf 
https://sandbox.api.mastercard.com/mdes/digitization/static

Works, but it's a hack. What am I missing here?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions