4단계: 정책 추가하기

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

이제 대상 엔드포인트를 변경했으므로 정책을 프록시에 추가할 수 있습니다.

정책은 API 프록시를 통해 메시지 흐름의 여러 지점에 연결할 수 있는 Edge 구성요소입니다. 정책은 메시지 형식 변환, 액세스 제어 적용, 원격 서비스 호출, 사용자 승인, 메시지 콘텐츠에서 잠재적 위협 검사 이상의 작업을 수행할 수 있습니다.

이 튜토리얼에서는 프록시에 XMLtoJSON 정책을 추가합니다. 이 정책은 XML 메시지의 페이로드를 JSON으로 변환합니다. 응답의 Content-Type 헤더도 변경합니다.

XML에서 JSON으로 변환 정책을 프록시에 추가하려면 다음 안내를 따르세요.

  1. 브라우저에서 Edge UI를 열고 로그인합니다.
  2. 기본 창에서 API 프록시를 클릭하고 프록시를 선택합니다. 이 예시에서는 1단계: API 프록시 만들기에서 만든 프록시를 선택합니다.
  3. 개발 탭을 클릭합니다.

    Edge에 API 프록시 편집기가 표시됩니다.

  4. 탐색기 창에서 프록시 엔드포인트 > 기본 > 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>
  5. 프록시에 정책을 추가하려면 응답 PreFlow(Flow 편집기의 하단)에서 + Step(+ 단계) 버튼을 클릭합니다.

    Edge는 흐름에 추가할 수 있는 분류된 정책 목록을 추가 대화상자에 표시합니다.

  6. 아래로 스크롤하고 미디에이션 카테고리에서 XML에서 JSON으로 변환 정책을 선택합니다.
  7. 기본 이름을 그대로 두고 추가를 클릭합니다.

    Edge는 새 정책을 응답의 PreFlow에 연결합니다.

    추가를 클릭하면 Edge에서 다음을 수행합니다.

    • 탐색기 창의 정책에서 새 정책을 추가합니다.
    • 흐름 창에 XML에서 JSON으로 변환 정책을 추가합니다.
    • 코드 창에 정책 구성 XML을 표시합니다.
  8. 저장을 클릭하여 변경사항과 함께 현재 수정 버전을 저장합니다.

이제 사용해 보세요. 터미널 창에서 다음 curl 명령어를 실행합니다.

curl https://org_name-test.apigee.net/getstarted

각 항목의 의미는 다음과 같습니다.

또는 브라우저에서 동일한 URL을 열 수 있습니다.

다음과 같은 응답이 표시됩니다.

{
  "root": {
    "city": "San Jose",
    "firstName": "John",
    "lastName": "Doe",
    "state": "CA"
  }
}

응답 본문이 다음과 같지 않으면 다음을 확인합니다.

  1. 3단계: 타겟 엔드포인트 변경에 설명된 대로 타겟 엔드포인트는 'https://mocktarget.apigee.net/xml'입니다.
    • 응답으로 'Hello, Guest!'가 표시되면 '/xml'을 대상 엔드포인트 끝에 추가해야 합니다.
    • 404가 표시되면 'apigee.com'이 아닌 'apigee.net'에 액세스하고 있는지 확인합니다.
  2. 프록시의 최신 버전이 배포됩니다. API 프록시 배포 및 배포 취소에 설명된 대로 API 프록시를 다시 배포해 보세요.

HTTP 요청과 응답 헤더를 확인하려면 -vs 옵션을 사용하여 curl에서 세부정보 수준을 사용 설정합니다(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"
  }
}

다음 단계

자세히 알아보기