Mule アプリケーションを使用して、HTTP エンドポイントによって呼び出される別のシステムからデータを取得していました。Java と jersey API を使用して、残りのコンポーネントを取得しました。
入力データの例を以下に示します。ここでは、キーと値は固定されておらず、ユーザーの要求によって異なる場合があります。配列のサイズは 2 から n エントリまで増加します。Mule および Java レスト ベースのコンポーネントで問題なく動作しています。
入力 JSON データ:
[
{
"Company": "BEG1",
"Account": "10011",
"Deptid": "111",
"Location": "SM1",
"Transaction Date": "2014-07-15",
"Description": "Invoice1",
"Debit": 0,
"Credit": 13.46,
"Invoice Nbr": "16824321"
},
{
"Company": "BEG92",
"Account": "10092",
"Deptid": "222",
"Location": "SL2",
"Transaction Date": "2014-07-19",
"Description": "Invoice End2",
"Debit": 13.46,
"Credit": 0,
"Invoice Nbr": "168243292"
}
]
RAML を使用して APIkit に移行する計画: 上記のケースの RAML テンプレートを作成するにはどうすればよいですか? キーは動的であるため、これは簡単ではないようです。
2) GET の同じアプローチで、get 要求のデータを取得します。キーとそれに対応する値が何であるかはわかりません。データを取得し、解析してユーザーに送信するだけでした。この状況で RAML テンプレートを作成するにはどうすればよいですか。RAML を使用したミュール APIkit はここで機能しますか?
私の既存のコード:
@POST
@Path("/post")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public List<GLExport> postOperation(@Payload String content) throws ParseException {
JSONParser jsonParser = new JSONParser();
Object jsonObjectInstance =null;
jsonObjectInstance = jsonParser.parse(new StringReader(content));
...
return glExportList;
<http:inbound-endpoint exchange-pattern="request-response" host="${hostname}" port="${glport}" path="QBJournalExport/QBGLRest" doc:name="HTTP"/>
<jersey:resources doc:name="REST">
<component class="com.qb.rest.GLExportService"/>
</jersey:resources>