API를 IBM API Connect 안으로 푸시하기 위한 REST 엔드포인트
사내 구축 환경 및 클라우드 Liberty 사용자 모두의 중심 위치인 REST 엔드포인트를 사용하여 API를 시각화하고 호출하며 IBM® API Connect에 푸시할 수 있습니다.
배치된 REST 엔드포인트를 IBM API Connect로 푸시
배치된 REST 엔드포인트를 IBM API Connect로 푸시하려면 새 REST 엔드포인트인 /ibm/api/docs/apiconnect를 호출해야 하는데, 이것은 서버 구성에서 apiDiscovery-1.0 기능에 의해 노출됩니다. 관리자와 개발자는 REST 엔드포인트를 사용하여 Liberty 인스턴스의 자산을 IBM API Connect 프레임워크 카탈로그를 검색 중인 엔터프라이즈 개발자에게 노출시킬 수 있습니다.
제품 정의 제공
모든 API는 제품에서 참조하며 카탈로그에서 노출됩니다. 그러므로, 호출자는 Liberty가 그의 RESTful API를 참조하고 결과 제품을 IBM API Connect로 푸시하는 데 사용하는 제품 정의를 제공합니다. 샘플 제품이 이 주제에서 제공됩니다.
IBM API Connect로 Liberty 집합체 자산 노출
대응하는 Liberty 집합체 엔드포인트인 /ibm/api/collective/docs/apiconnect를 사용하여 단일 RESTful 트리거로 Liberty 집합체의 모든 자산을 IBM API Connect에 노출할 수 있습니다. Liberty 집합체 엔드포인트는 수 천 개의 API를 API Connect에 연결된 모든 클라우드 개발자에게 노출시킬 수 있습니다. 이 엔드포인트의 전체 Swagger 정의에 대해서는 Liberty RESTful API 레지스트리 /ibm/api/explorer를 참조하십시오.
엔드포인트 요약
HTTP 요청 메소드: POST
URL: https://server:https_port/ibm/api/docs/apiconnect
필수 헤더
- X-APIM-Authorization
- API Connect에 연결하기 위한 신임 정보는 다음 두 가지 양식으로 표시됩니다.
- username과 password
- xyz, 여기서 xyz는 username: password의 base64 인코딩 버전입니다.
필수 조회 매개변수
- 서버
- IBM API Connect 서버의 이름이며 https://로 시작합니다.
- 카탈로그
- 결과 제품을 호스트하는 카탈로그의 이름입니다.
- 조직
- 호출자 조직의 이름입니다.
선택적 조회 매개변수
- apiRoot
- 호출자가 API Connect로 푸시하기 원하는 컨텍스트 루트(예: apiRoot=/myApp)를 정확하게 지정하는 다중 카디널리티 매개변수입니다. 기본적으로, Liberty는 알려진 Liberty 런타임 웹 애플리케이션 번들을 제외한 모든 배치된 애플리케이션을 포함합니다. 이 매개변수는 노출된 애플리케이션을 필터링하기 원할 때 유용합니다.
- 멤버 ID(집합체 변형의 경우에만 사용 가능)
- 호출자가 자산을 노출하기 원하는 정확한 집합체 멤버의 ID를 지정하는 다중 카디널리티 매개변수입니다. 이 ID는 모두가 쉼표로 구분되는 호스트 이름, URLEncoded user dir 및 서버 이름을 갖는 문자열로 구성됩니다(예: myHost.com, %2Ftmp%2Fwlp%2Fusr, server1).
- 입력 본문
- YAML 또는 JSON 코드로 된 제품 정의입니다. 다음 YAML 예를
참조하십시오.
product: "1.0.0" info: name: "pushed-product" title: "A Product that encapsulates Liberty APIs" version: "1.0.0" visibility: view: enabled: true type: "public" tags: - "string" orgs: - "string" subscribe: enabled: true type: "authenticated" tags: - "string" orgs: - "string" apis: liberty: name: "liberty-api:1.0.0" x-ibm-configuration: phase: "realized" testable: true enforced: true cors: enabled: true assembly: execute: - invoke: target-url: "${gateway.target}" title: "Invocation" description: "Invoking back-end service" plans: default: title: "Default Plan" rate-limit: hard-limit: false value: "100/hour" approval: false createdAt: "2016-04-18T20:33:22.937Z" createdBy: "string"