私たちはコントローラにリクエストを受け取ると、別のAPIへの呼び出しを行い、他のAPIレスポンスに基づいてリクエストを再トリガする必要があります私はこのように行うときに、異なるパラメータを持つコントローラはレスポンスに基づいて自分自身からSpringコントローラを呼び出す
@RequestMapping(value = "/search", method = RequestMethod.GET, produces = "application/json")
public Map<String, Account> searchEndpoint(@RequestParam(name = "query", required = true) String query) {
RequestPayload req = new RequestPayload(query);
SearchResponse searchResponse = http.executeSecurePost(this.searchUrl, req, SearchResponse.class);
if(("particularModel").equalsIgnoreCase(searchResponse.getModel()))
{
String differentQueryParameter = searchResponse.getName();
searchEndpoint(differentQueryParameter);
}
else {
//do something else
}
return json response;
}
...それはそれは2回目の呼び出しを作り、新しい応答とリターンを得ていますどこ細かい作業...しかし、再び、この時間は元のクエリである第三クエリの撃ちつく。なぜ3番目のクエリが起動されたのか分かりません。どんな助けもありがとう。
whileループまたはdo-whileループを使用します。しかし、あなたは "特定のモデル"を取得していない場合は、永遠にループする可能性があります。同じ 'executeSecurePost'を呼び出し、コントローラを再帰的に呼び出さないでください。 – sura2k
なぜ...私は理由がないと表示されません – user2359997