Продуктивный шаблон минимального API ASP .NET
Это репозиторий шаблона, показывающий, как можно реализовать чистый API с ASP.NET, используя минимальные API. Основное внимание на «функциях» в этом шаблоне сосредоточена на производительности DEV, фактические особенности самого API были намерены. Не стесняйтесь копировать этот репозиторий или повторно использовать его части, не забудьте дать звезду, если вы это сделаете.
Некоторые функции в этом шаблоне:
- Архитектура вертикального среза (группировка на основе функций вместо технических слоев)
- Простая в использовании и быстро для запуска настройки интеграционных тестов, которая работает за секунды, с единственной зависимостью, которая является докером с использованием TestExamplesDotnet
- Аутентификация и авторизация с использованием токенов JWT. Это также используется тестами, что означает, что вы можете проверить, правильно ли ваша аутентификация и авторизация работают внутри тестов.
- Готовы к Opentelemetry
- Запуск профиль для Dotnet Watch
- Автоматизированная сборка с использованием действий GitHub, которая проверяет форматирование кода, строит и запускает тесты.
Заводящие тесты
Для запуска тестов требуется только Docker (Tip: Podman свободен в использовании). Первый запуск может занять немного больше времени, так как изображение Docker загружается. Запустите следующую команду, чтобы запустить тесты:
Запуск приложения
- Сначала генерируйте JWT, который вы можете использовать для локального тестирования:
dotnet user-jwts create --role " read " --role " write "
Примечание. Конечные точки рабочих мест и департамента требуют только аутентификации, но конечные точки сотрудника требуют, чтобы у вас были правильные претензии в токене JWT.
- Запустите базу данных, используя предоставленную Docker-compose.yaml. При желании также запустите Aspire Dashboard в файле Compose, чтобы легко увидеть вывод Opentelemetry.
- Запустить приложение. Вы можете изучить конечные точки, используя Swagger на
https://localhost:7162/swagger .