wso2 api マネージャーを使用して、RESTful サービスの一部にアクセスしようとしています。残りのサービスは、json ペイロードを想定しています。json リクエストが api manager に送信されると、json リクエストを xml に変換し、実際のエンドポイントに転送するときに json に変換して戻します。結果のjsonは、私たちのケースの1つで元のリクエストと正確に一致しません. たとえば、rquest に要素の配列が含まれていて、1 つの要素のみが配列に渡された場合、API マネージャーがリクエストをエンドポイントに転送するときに、配列文字 ([,]) が削除されます。例えば。私たちの最初のリクエストは
{
"entities": [
{
"name":"KK71CP20000523A1",
"descr":"VaS",
"mnf":"BCT",
"mdlyr":"2012"
}
]
}
APIマネージャーから送信されたリクエストは
{
"entities":
{
"name":"KK71CP20000523A1",
"descr":"VaS",
"mnf":"BCT",
"mdlyr":"2012"
}
}
エンティティ要素の下の配列のラッピングが削除されます。要素数が複数の場合、配列文字は保持されます。
以前、ESB でも同じ問題に直面しました。しかし、デフォルトの JSONMessageFormatter を拡張し、jettison ライブラリで利用可能な seriliazeAsArray メソッドを使用することで、この問題を回避しました。しかし、API Manager でこのカスタマイズを行いたくありません。この問題を修正するより良い方法はありますか? これを修正するために wso2 から入手できるパッチはありますか?