Этот проект содержит код для создания сразу нескольких почтовых ящиков с помощью API сервиса MailSlurp.
Для запуска проекта вам понадобятся следующие компоненты:
- Go 1.20
- Аккаунт и API-ключ с сайта Ссылка на сайт
-
Установите Go (версия 1.20 или выше) - Ссылка на загрузку.
-
Склонируйте репозиторий на вашу локальную машину:
git clone https://github.com/Jhnvlglmlbrt/MailSlurp-CreatingEmail
-
Перейдите в директорию проекта:
cd MailSlurp-CreatingEmail
-
Установите зависимости проекта:
go get
-
Скопируйте API-Ключ - Ссылка
-
Замените "Your API-key" на ваш реальный API-ключ в функции createClient.
apiKey := "Your API-key"
-
Запустите проект:
go run main.go
В данном проекте структура организована с учетом принципов чистой архитектуры, которые помогают разделять компоненты на разные уровни ответственности и делать приложение более модульным, гибким и тестируемым.
Вот обзор файлов и их ролей:
-
cmd/main.go:
Главный файл приложения, который создает клиент API, инициализирует контроллер и сервис, а затем запускает процесс создания почтовых ящиков. В этом файле вы находите главный поток выполнения программы. Он является точкой входа и связующим звеном между компонентами архитектуры.
-
controllers/inbox_controller.go:
В этом файле находится контроллер для обработки запросов, связанных с почтовыми ящиками. Контроллер служит как посредник между внешними запросами и бизнес-логикой. Он обращается к методам сервиса и может обрабатывать ошибки или преобразовывать данные.
-
services/inbox_service.go:
В этом файле определен сервис, содержащий бизнес-логику операций над почтовыми ящиками. Сервис выполняет более высокоуровневые операции, связанные с бизнес-правилами. Он взаимодействует с контроллером для выполнения операций с данными, а также может обращаться к внешним ресурсам, таким как API.
Структура проекта включает в себя слои, где каждый слой имеет определенную ответственность:
-
Слой представления (Presentation Layer): Здесь находится main.go. Этот слой ответственен за обработку внешних запросов, взаимодействие с внешним миром и координацию компонентов.
-
Слой бизнес-логики (Business Logic Layer): Здесь находятся controllers/inbox_controller.go и services/inbox_service.go. Этот слой содержит бизнес-логику, которая описывает как выполняются операции над данными.
-
Слой данных (Data Layer): В данном проекте нет явно выделенного слоя данных, так как он инкапсулирован внутри MailSlurp API. Однако, если бы у вас была локальная база данных или другие источники данных, это место для их интеграции.