2013-09-24 3 views
2

WSO2 API Manager 버전 1.4.0과 함께 제공되는 API 게시자에서 URI templates으로 끝점을 등록 할 수 있습니까? 예를 들어, 내가 엔드 포인트 등의 등록하려고합니다 :WS02 API의 URI 템플릿 게시자

<resource methods="GET" url-mapping="/jobs/{jobid}/pems"> 
: PEMS

API를 저장 한 후/

/작업/{작업 ID를}, 나는 API 설정 파일에서이 비트를 볼 수 있습니다

내가 수동으로, URI 템플릿에 URL을 매핑, 즉에서 XML 파일을 변경 시도 :

<resource methods="GET" uri-template="/jobs/{jobid}/pems"> 

하지만 난 여전히 "주어진 요청에 대해 API에 일치하는 자원"을 얻을 수 없습니다. 어쨌든 우리는 개발자가 게시자 응용 프로그램에서 이러한 끝점을 등록 할 수 있어야하므로이 작업은 좋지 않습니다. 변경 사항이 API 게시자 인터페이스 내에서 API에 저장 될 때마다 'uri-template'이 'url-mapping'으로 되돌아갑니다.

미리 감사드립니다.

답변

2

APIPublisher 앱은 API 리소스를 정의 할 때 URL 매핑 만 지원하기 때문에 발생합니다.

URL 매핑 대신 uri-template을 정의하려면 수동으로 api XML을 변경하면됩니다.

그러나 API를 만들 때 올바른 URL 매핑을 사용하여 API를 정의해야합니다. API를 사용할 때 API에 유효한 url-mapping 패턴을 유지하는 것으로 APIPublisher에서 API를 편집하십시오. 그런 다음 xml을 사용자가 언급 한 uri-template 패턴과 일치하도록 변경하십시오.

감사합니다.

0

우리는 현재 URI 템플릿 패턴을 지원하지 않습니다. 우리는 URL 매핑 만 지원합니다.
url 매핑에 대한 백엔드 API 구성 (즉, api 구성 파일)을 편집하더라도 요청이 유효성을 검사하기 전에 요청을 확인하기 때문에 작동하지 않습니다.

백엔드 서비스 끝점으로 ESB RESTApi를 사용할 수 있습니다. 즉, uri-templates (ESB에서 지원됨)를 사용하여 wso2esb의 RESTAPI를 정의하고 URL을 사용하여 wso2APIManager의 서비스 끝점으로 API를 가리 킵니다. - 맵핑 패턴.

+0

감사합니다. Ratha. Getting AM 1.4 started guide는 uri-templates가 지원된다는 것을 나타냅니다. 다음의 p 15, # 2를 참조하십시오 : http://dist.wso2.org/products/api-manager/1.4.0/APIManager-GettingStarted-v1.4.0.pdf – user2789361

0

더 많은 포인트를 추가하고 싶습니다. 이전에 언급했듯이 WSO2 APIManager는 uri-templates를 지원합니다. API 게시자 앱 UI만이 uri 템플릿을 추가 할 수 없습니다.
게시자 UI에서 API를 만들 때 리소스 매핑에/* 또는 유효한 url-mapping을 지정해야합니다. 그런 다음 시냅스 API가 생성되면 해당 XML 파일을 uri-template으로 변경 한 다음/*를 uri-template 패턴으로 변경해야합니다.

위의 희망 사항은 문제를 해결하는 데 도움이됩니다.

감사합니다.