обзор
Почтальон в значительной степени стал стандартом де-факто для любого разработчика, который работает с API. Он предоставляет интуитивно понятный интерфейс, который прост в использовании и позволяет разработчикам легко настраивать, взаимодействовать и тестировать API. Из почтового ящика вы можете использовать Postman для вызова API Anypoint Platform, но в этой статье есть несколько советов и подсказок, которые помогут сделать это проще.
Вам также может понравиться: Жизненный цикл API в Anypoint Platform
Примером проблемы, которую решает эта статья, является запрос « login », когда вы сталкиваетесь с проблемой « invalid csrf token ». Выполнив шаги и настроив Postman, вы сэкономите много времени, удалив некоторые ручные шаги.
В этой статье предполагается, что на вашем компьютере установлена учетная запись Anypoint Platform и Postman (7.12.0).
Настройка Почтальон
Настройка рабочего пространства в Postman позволяет хранить переменные, которые могут быть переданы для последующих вызовов API. Логины, пароли, токены доступа и т. Д.
Нажмите на значок шестеренки в правом верхнем углу, а затем нажмите Добавить
Дайте вашей среде имя. (например, MuleSoft)
Введите следующие имена переменных:
- access_token
- Ap_username
- Ap_password
В столбце «Исходное значение» введите имя пользователя и пароль для платформы Anypoint.
Создайте новый запрос, вставив в поле URL запроса ввода следующую строку: https://anypoint.mulesoft.com/accounts/login, а затем измените раскрывающийся список на POST.
В дальнем правом углу экрана нажмите « Cookies».
Нажмите на Белый список доменов внизу слева.
Войдите в * .mulesoft.com и нажмите Добавить. Это позволит сценарию, который вы добавите позже, внести изменения в файлы cookie.
Далее, нажмите на вкладку «Body» и установите переключатель « x-www-form-urlencoded ».
Введите следующие пары ключ / значение:
имя пользователя — {{ap_username}}
пароль — {{ap_password}}
Они соответствуют переменным, которые вы устанавливаете в рабочей области.
Перейдите на вкладку « Тесты », скопируйте и вставьте следующий скрипт:
JavaScript
xxxxxxxxxx
1
const jar = pm.cookies.jar();
2
jar.clear(pm.request.url, function (error) {
3
console.log("Clear Cookies");
4
});
5
6
var response = pm.response.json();
7
var access_token = response["access_token"];
8
pm.environment.set("access_token", access_token);
9
10
console.log("Access Token " + access_token);
Сценарий очищает файлы cookie, в частности файл cookie _csrf , поэтому вы можете совершать повторные вызовы без необходимости каждый раз очищать его вручную.
Он также сохраняет access_token в переменной, чтобы вы могли передать его в заголовке и последующим вызовам.
Давайте дважды протестируем вызов API, нажав кнопку « Отправить» . Обычно вы видите ошибку неверного токена csrf, но скрипт автоматически удаляет cookie и позволяет вам совершать повторные вызовы для генерации нового access_token.
Наконец, давайте создадим коллекцию. Нажмите Сохранить в правом верхнем углу.
Присвойте своему API-вызову имя (например, Логин), а затем нажмите + Создать коллекцию.
Дайте вашей коллекции имя и нажмите на галочку.
Нажмите « Сохранить на платформе Anypoint».
Настройка последующих вызовов API
This next section walks you through the quick process of leveraging the access_token variable. Click on the ‘+’ sign to add a new request. For this example, just paste the following API and leave the dropdown as a GET request:
https://anypoint.mulesoft.com/cloudhub/api/mule-versions
Make sure you are still in the MuleSoft workspace. Click on the Headers tab and enter the following key/value pairs:
Authorization — Bearer {{access_token}}
Content-Type — application/json
The {{access_token}} will leverage the token that was generated in the setup. Postman stores the token from the previous call and allows you to reference that variable in subsequent calls.
Test the API call by clicking on Send.
Lastly, let’s save this call to the Collection we previously setup. Click on Save and give the request a name (e.g. Get Mule Versions). Then select the existing collection, and click on Save to Anypoint Platform.
Summary
As you can see, setting up Postman with a Workspace will make you more productive. Variables allow you to store and use them for subsequent calls which removes a lot of manual steps. Let me know if you run into any issues, just leave a comment below.
Further Reading
Using API Autodiscovery in Anypoint Platform
Create Your APIs in Mule Anypoint Platform — CROWD Release
How to Set Up OKTA as an Anypoint Platform Identity Provider