Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
Теперь, когда вы изменили целевую конечную точку, можно добавить в прокси-сервер правило.
Правило – это компонент Edge, который можно прикрепить к разным точкам потока сообщений через прокси API. Правила могут преобразовывать форматы писем, обеспечивать контроль доступа, вызывать удаленные сервисы, авторизовать пользователей, проверять содержимое писем на наличие потенциальных угроз и многое другое.
В этом руководстве вы добавите в прокси-сервер правило XMLtoJSON. Это правило преобразует полезную нагрузку XML-сообщения в JSON. Также изменяется заголовок Content-Type ответа.
Чтобы добавить в прокси-сервер правила XML в JSON:
- Откройте интерфейс Edge в браузере и войдите в аккаунт.
- Нажмите API Proxies (Прокси API) в главном окне и выберите прокси. В этом примере выберите прокси-сервер API, созданный на шаге 1.
Нажмите на вкладку Разработка:

В Edge откроется редактор прокси API.
На панели Навигатор нажмите Конечные точки прокси > по умолчанию > PreFlow:

В Edge откроется редактор потоков:

Кроме того, Edge отображает конфигурацию конечной точки прокси-сервера по умолчанию на панели Код:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ProxyEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <PostFlow name="PostFlow"> <Request/> <Response/> </PostFlow> <Flows/> <HTTPProxyConnection> <BasePath>/getstarted</BasePath> <Properties/> <VirtualHost>default</VirtualHost> <VirtualHost>secure</VirtualHost> </HTTPProxyConnection> <RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule> </ProxyEndpoint>- Чтобы добавить правило в прокси, нажмите кнопку + Шаг в PreFlow ответа (нижняя половина редактора потоков):

В диалоговом окне Добавить в Edge отображается список политик, которые можно добавить в поток:

- Прокрутите страницу вниз и выберите правило XML to JSON (XML в JSON) в категории "Медиация".
Оставьте названия по умолчанию и нажмите Добавить.
Edge прикрепляет новое правило к PreFlow ответа:

Обратите внимание, что при нажатии кнопки Добавить Edge выполняет следующие действия:
- Новое правило будет добавлено в раздел Правила на панели Навигатор.
- Добавляет правило XML в JSON на панели Flow (Процесс).
- В области Код отображается XML-код конфигурации правила.
- Нажмите Сохранить, чтобы сохранить текущую версию с внесенными изменениями.
Попробуйте! В окне терминала выполните следующую команду curl:
curl https://org_name-test.apigee.net/getstarted
Где:
- org_name – это название организации, которое Apigee присвоил вам, когда вы создали аккаунт Apigee.
-test– это окружающая среда. Вы развернули новый прокси-сервер в тестовой среде на шаге 1 "Создайте прокси-сервер API"./getstarted– базовый путь прокси.
Вы также можете открыть тот же URL в браузере.
Вы должны получить следующий ответ:
{
"root": {
"city": "San Jose",
"firstName": "John",
"lastName": "Doe",
"state": "CA"
}
}Если тело ответа выглядит иначе, проверьте следующее:
- Целевая конечная точка – "https://mocktarget.apigee.net/xml", как описано в шаге 3: измените целевую конечную точку:
- Если вы получили ответ "Здравствуйте, гость!", добавьте "/xml" в конец целевой конечной точки.
- Если вы получили ошибку 404, убедитесь, что вы обращаетесь к домену apigee.net, а не apigee.com.
- Развернута последняя версия прокси. Попробуйте повторно развернуть прокси-сервер API, как описано в разделе Развертывание и отмены развертывания прокси-сервера API.
Чтобы посмотреть заголовки HTTP-запроса и ответа, включите подробный режим в curl с помощью параметра -vs (v делает ответ подробным, а s скрывает некоторые менее интересные детали). Пример:
curl -vs https://ahamilton-eval-test.apigee.net/getstarted | python -m json.tool
Вы получите ответ, похожий на приведенный ниже. Обратите внимание, что заголовок Content-Type в ответе имеет значение application/json. Правило преобразования XML в JSON изменяет заголовок перед отправкой ответа.
* Trying 10.20.30.40... * TCP_NODELAY set * Connected to ahamilton-eval-test.apigee.net (10.20.30.40) port 443 (#0) ... > GET /getstarted HTTP/1.1 > Host: ahamilton-eval-test.apigee.net > User-Agent: curl/7.58.0 > Accept: */* > < HTTP/1.1 200 OK < Date: Fri, 25 May 2018 16:20:00 GMT < Content-Type: application/json;charset=UTF-8 < Content-Length: 77 < Connection: keep-alive < X-Powered-By: Apigee < Access-Control-Allow-Origin: * ... { [77 bytes data] { "root": { "city": "San Jose", "firstName": "John", "lastName": "Doe", "state": "CA" } }