Ваше первое рабочее пространство
Создайте рабочее пространство с нуля на демо-API: запросы, папка, окружение, секрет и Git.
В этом руководстве вы создаёте собственное рабочее пространство для магазина Alpenglow: два запроса в папке, окружение с адресом сервера, пароль в Связке ключей и репозиторий Git для всего этого.
- Время: 15 минут.
- Вам понадобится: Echolot и Git для последней части (
git --versionв Терминале; macOS предложит его установить). - Вы узнаете: как рабочее пространство устроено на диске и почему его безопасно коммитить.
1. Создайте рабочее пространство
- В окне Добро пожаловать в Echolot выберите Новое рабочее пространство…. Из окна рабочего пространства выберите Файл › Новое рабочее пространство… (⌥⌘N).
- В панели Новое рабочее пространство назовите его
Alpenglow Shopи выберите папку, например~/Projects. Расширение.echolotEcholot добавит сам. - Нажмите Создать.
Откроется окно с надписью Рабочее пространство пусто. На диске Alpenglow Shop.echolot — это папка, в которой лежат
workspace.toml и пустая папка requests. В Finder она выглядит как один файл, и двойной щелчок по ней открывает
рабочее пространство.
2. Отправьте первый запрос
-
Выберите Новый запрос на пустой странице или Файл › Новый запрос (⌘N). Запрос появится в боковой панели, и его имя можно сразу менять.
-
Введите
List productsи нажмите ↩. -
Оставьте метод GET. В поле URL введите:
https://demo.echolot.dev/v1/products?category=tentsПараметр запроса отображается и на вкладке Параметры, где его можно изменить в виде таблицы.
-
Выберите Отправить (⌘R или ⌘↩).
В области ответа видны 200 OK, время и размер. Вкладка Тело содержит товары в формате JSON. Переключите её вид на
JSON-дерево, чтобы сворачивать и разворачивать список. Каждая вкладка описана на
странице об ответах.
Команды «Сохранить» нет: Echolot сохраняет запрос через мгновение после того, как вы перестали печатать. Внизу боковой панели написано Всё сохранено.
3. Разложите запросы по папке
- Выберите Файл › Новая папка (⇧⌘N), введите
Catalogи нажмите ↩. - Перетащите List products на Catalog.
- Щёлкните Catalog правой кнопкой и выберите Новый запрос. Назовите его
Get product. - Задайте ему URL
https://demo.echolot.dev/v1/products/TNT-MH-2Pи отправьте.
Вы получите одну палатку, Matterhorn 2P, с ценой и наличием в Цюрихе и Берне. Каждый запрос — отдельный файл:
requests/catalog/get-product.req.toml. Папки также могут задавать авторизацию, переменные и скрипты для всех
запросов в них; см. папки.
4. Вынесите адрес в окружение
Если вписывать адрес сервера в каждый запрос, сменить сервер трудно. Вместо этого вынесите его в окружение.
- Выберите Вид › Окружения (⌥⌘E) или откройте меню окружений в заголовке страницы и выберите Управление окружениями….
- Нажмите + (Добавить окружение). Появится Новое окружение. Измените его Имя на
Demo. - Выберите Добавить переменную. Задайте Имя
baseURLи Значениеhttps://demo.echolot.dev/v1. - Добавьте второе окружение с именем
Local, в которомbaseURLравнаhttp://localhost:8787/v1. Это демо-API, запущенное на вашем Mac; для этого руководства запускать его не нужно. - В меню окружений в заголовке страницы выберите Demo.
- Вернитесь к List products и измените его URL на
{{baseURL}}/products?category=tents. То же сделайте для Get product:{{baseURL}}/products/TNT-MH-2P.
Пока вы вводите {{, список предлагает ваши переменные. В URL {{baseURL}} показывается как токен; наведите на него
указатель, чтобы увидеть его значение в текущем окружении. Отправьте оба запроса ещё раз: они по-прежнему доходят до
демо-API. Выберите Local, и они пошли бы на ваш Mac — без каких-либо других изменений.

5. Сохраните пароль в секрете
Для входа в магазин нужен пароль. Пароль никогда не должен попадать в файл, который вы коммитите.
-
На странице Окружения выберите Demo и нажмите Добавить переменную.
-
Назовите её
passwordи отметьте флажок Секрет. Поле значения превратится в поле пароля с надписью Не задано на этом Mac. -
Введите
alpenglowи нажмите ↩ (или выберите Сохранить). Значок ключа показывает, что значение лежит в Связке ключей. -
Создайте папку
Authи в ней запросSign in. Задайте метод POST и URL{{baseURL}}/auth/token. -
На вкладке Тело выберите JSON и введите:
{ "email": "heidi@alpenglow.ch", "password": "{{password}}" } -
Отправьте его.
Ответ — 200 OK с access_token. Заголовок Content-Type: application/json для тела JSON Echolot добавляет сам.
Откройте environments/demo.toml: переменная password там есть, с secret = true и без значения. Значение хранится
только в Связке ключей на этом Mac, поэтому каждый, кто открывает рабочее пространство, задаёт своё; см.
секреты.
Следующее руководство использует этот токен для запросов, которым он нужен.
6. Поместите рабочее пространство в Git
У Echolot нет собственных команд Git: рабочее пространство — это обычные файлы TOML, так что с Git вы работаете так же, как с кодом.
-
Внизу боковой панели откройте меню рабочего пространства и выберите Показать в Finder. Перетащите папку
Alpenglow Shop.echolotна значок Терминала или перейдите в неё черезcd. -
Выполните:
git init git add . git commit -m "Alpenglow Shop: catalog and sign-in"
Что вы закоммитили:
Alpenglow Shop.echolot/
├── workspace.toml
├── environments/
│ ├── demo.toml
│ └── local.toml
└── requests/
├── _folder.toml
├── auth/
│ ├── _folder.toml
│ ├── sign-in.req.toml
│ └── sign-in.body.json
└── catalog/
├── _folder.toml
├── get-product.req.toml
└── list-products.req.tomlНичего секретного в этом нет, и .gitignore не нужен: ответы и история хранятся вне рабочего пространства, в
собственном хранилище Echolot. Каждый файл записывается каждый раз одинаково, поэтому в diff видно только то, что вы
изменили.
Когда кто-то другой забирает изменения, открытое окно подхватывает их само. Если файл изменился на диске, пока в нём есть ваши несохранённые правки, появляется полоса Этот запрос изменился на диске: выберите Взять с диска или Оставить мои. Подробнее — в разделе Git и команды.
Дальше
- Цепочка запросов: передайте токен из Sign in каждому запросу, которому он нужен.
- Защищённые окружения: пусть Echolot спрашивает перед каждой отправкой на важный сервер.
- Файлы рабочего пространства: каждый файл и поле.
