2

WSO2 API Manager バージョン 1.4.0 に同梱されている API Publisher でURI テンプレートを使用してエンドポイントを登録することはできますか? たとえば、次のようなエンドポイントを登録したいと思います。

/jobs/{jobid}/pems

API を保存すると、API 構成ファイルに次のビットが表示されます。

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

XML ファイルを手動で url-mapping から uri-template に、つまり次のように変更しようとしました。

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

しかし、「指定されたリクエストの API に一致するリソースが見つかりません」というメッセージが表示されます。いずれにせよ、開発者がパブリッシャー アプリケーションからこれらのエンドポイントを登録できるようにする必要があるため、これは良い回避策ではありません。API Publisher インターフェイス内から API に変更が保存されるたびに、「uri-template」は「url-mapping」に戻されます。

前もって感謝します。

4

3 に答える 3

2

これは、API リソースを定義するときに、APIPublisher アプリが URL マッピングのみをサポートするためです。

url-mapping の代わりに uri-template を定義する場合は、api xml を手動で変更することでこれを実現できます。

ただし、その前に、API を作成するときに、有効な URL マッピングを使用して API を定義していることを確認してください。そのため、試行中の API では、まず API リソースの有効な URL マッピング パターンを維持するように APIPublisher から API を編集してから変更してください。その xml は、言及された uri-template パターンと一致します。

ありがとう;

于 2013-09-25T02:22:31.457 に答える
0

現在、uri-template パターンはサポートされていません。URL マッピングのみがサポートされています。
バックエンド API 設定 (つまり、API 設定ファイル) を url-mappings に編集しても、リクエストがメディエーション エンジンに到達する前にリクエストを検証するため、機能しません。

ESB RESTApi をバックエンド サービス エンドポイントとして使用できます。つまり、uri-templates を使用して wso2esb で RESTAPI を定義し (ESB でサポートされています)、url-mappings パターンを使用して wso2APIManager からのサービス エンドポイントとしてその API をポイントします。

于 2013-09-25T20:33:25.143 に答える