использование клиента autorest swagger

У меня есть решение, в котором у меня есть несколько проектов webapi, с которыми они общаются через отдых, поэтому я хочу использовать autorest и swagger для создания клиентов, autorest отлично работает и создает клиентские и объектные классы, но на самом деле я не хочу их использовать, поскольку у меня уже есть такие же объекты в общем проекте, и я могу сделать это, не добавляя модели в сгенерированный автоматический проект клиента, но тогда мне нужно вносить изменения в apiclient после каждого повторного создания клиента, возможно, есть способ использовать эти сгенерированные классы моделей "частично", поскольку они имеют одно и то же имя и пространство имен, поэтому компилятор каким-то образом объединит их и будет использовать как одно?


person Vladimir Kruglov    schedule 08.06.2018    source источник


Ответы (1)


Просто создайте частичный класс для вашего клиента.

Например, у вас есть автоматически сгенерированный клиент с именем ServiceClient.cs, вы просто создаете ServiceClient.Partial.cs, в который вы можете поместить свою собственную логику.

namespace Example.APIClients.Service
{
    public partial class ServiceClient
    {
        partial void CustomInitialize()
        {
            SetRetryPolicy(null);
        }

        // Constructor if you need it
        public ServiceClient(...)
        {
            // some code
        }
    }
}

Затем вы можете использовать свою собственную логику и автоматически сгенерированные клиенты в зависимости от того, что вам нужно.

person underscoreHao    schedule 19.09.2018