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

В браузере Edge отображается редактор API-прокси.
В панели навигатора щелкните Proxy Endpoints > default > PreFlow :

В браузере Edge отображается редактор Flow:

Кроме того, 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>- Чтобы добавить политику к вашему прокси-серверу, нажмите кнопку «+ Шаг» в окне предварительного просмотра ответа (нижняя часть редактора потока):

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

- Прокрутите вниз и выберите политику преобразования XML в JSON в категории «Посредничество».
Оставьте имена по умолчанию и нажмите «Добавить» .
Edge прикрепляет новую политику к предварительному потоку ответа:

Обратите внимание, что при нажатии кнопки «Добавить » Edge выполняет следующие действия:
- Добавляет новую политику в раздел «Политики» на панели «Навигатор» .
- Добавляет политику преобразования XML в JSON на панель «Поток» .
- Отображает XML-файл конфигурации политики в панели «Код» .
- Нажмите «Сохранить» , чтобы сохранить текущую версию с внесенными изменениями.
Попробуйте! В окне терминала выполните следующую команду curl :
curl https://org_name-test.apigee.net/getstarted
Где:
- org_name — это название организации, которое Apigee присвоил вам при создании учетной записи Apigee .
-
-test— это среда. Вы развернули свой новый прокси в среде "test" на шаге 1: Создание API-прокси . -
/getstarted— это базовый путь прокси-сервера.
В качестве альтернативы вы можете открыть тот же URL-адрес в браузере.
Вы должны получить следующий ответ:
{
"root": {
"city": "San Jose",
"firstName": "John",
"lastName": "Doe",
"state": "CA"
}
}Если текст ответа выглядит иначе, проверьте следующее:
- Ваша целевая конечная точка — "https://mocktarget.apigee.net/xml", как описано в шаге 3: Измените целевую конечную точку :
- Если в ответ приходит сообщение "Hello, Guest!", то необходимо добавить "/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" } }