Лучшие практики для создания .NET Web API с использованием сгенерированной заглушки сервера - PullRequest
0 голосов
/ 18 июня 2019

b) После создания заглушки сервера .NET C # документация не очень многословна в отношении того, как ее использовать:

Вам необходимо самостоятельно реализовать логику для обработкикакую бы работу API ни делал.Когда реализация будет готова, вы можете развернуть API локально или на своем сервере.См. Файл README.md в загруженном архиве, чтобы начать.

Есть ли какое-либо руководство по использованию кода?Я хотел бы использовать наследование, чтобы избежать изменения кода сгенерированного кода.Но документация говорит просто о игнорировании некоторых сгенерированных файлов.Поддержка чванства сказала мне просто «переносить» изменения при каждом изменении.Что возможно, но я надеялся, что смогу сгенерировать файлы без изменений.Я здесь не прав, нет ли в этом особой необходимости?Я хотел бы использовать заглушку сервера в среде непрерывной интеграции.

1 Ответ

0 голосов
/ 14 июля 2019

Один из вариантов - настроить шаблоны.

  1. Клонировать репозиторий swagger-codegen .
  2. Предполагается, что вы используете последнюю стабильную версию v2.инструмента генерации кода, то ветка master в порядке.В противном случае извлеките тег для используемой версии инструмента.
  3. В проводнике Windows откройте swagger-codegen\modules\swagger-codegen\src\main\resources \ и скопируйте каталог aspnetcore.Вставьте это в свой репозиторий исходного кода клиента.
  4. При следующем запуске инструмента codegen укажите аргумент -t:

    java -jar swagger-codegen-cli.jar generate
        -i <your Open API spec URL/file> 
        -l aspnetcore
        -o <outputdir> 
        -t <relative path to your>\aspnetcore
        ... other args as needed
    

Теперь выможете изменить эти шаблоны с помощью пользовательского кода.Например, у вас может быть внешняя библиотека с новым базовым классом контроллера, который предоставляет некоторую общую бизнес-логику.Затем вы можете изменить файл controller.mustache для ссылки на ваш базовый класс.Просто один из многих примеров.Добавьте свои пользовательские шаблоны в систему контроля версий для непрерывной интеграции.

Предупреждения: файл controller.mustache находится непосредственно в aspnetcore, а другой - в aspnetcore\2.1.Изучая исходный код , я вижу, что папка 2.1 используется для любой версии ASP.NET Core , кроме 2.0 .Я сам новичок в этом инструменте и не совсем понял, как его использовать;Утилита генерирует исходный код, который не будет собираться для меня из коробки.Он не генерирует классы безопасности, но генерирует код, который пытается использовать эти классы безопасности.Поэтому мне необходимо закомментировать код безопасности в шаблонах.

...