swagger autorest использование клиента - PullRequest
0 голосов
/ 08 июня 2018

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

1 Ответ

0 голосов
/ 19 сентября 2018

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

Например, у вас есть автоматически сгенерированный клиент с именем 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
        }
    }
}

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

...