4단계: 정책 추가

Apigee Edge 문서입니다.
Go to the Apigee X 문서로 이동합니다.
info

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

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

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

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

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

    Edge에서 API 프록시 편집기를 표시합니다.

  4. Navigator 창에서 프록시 엔드포인트 > 기본 > 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 (흐름 편집기의 하단)에서 + 단계 버튼을 클릭합니다.

    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 요청과 응답 헤더를 확인하려면 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"
  }
}

다음 단계

자세히 알아보기