0
我想使用play2 WSRequest發出兩個HTTP請求(POST),其中來自第一個響應的一些信息被髮送到第二個請求。我試圖按照以下方式做到這一點,以確保第二次請求僅在第一次請求完成後才觸發。但我得到類型不匹配:不能從F.Promise轉換爲F.Promise錯誤播放WS API製作嵌套請求 - WSClient
public Promise<Result> executeAPI(String apiName,JsonNode requestBody){
WSRequest pcLoginRequest = ws.url("http://xxxxx.qa.local:8080/mytest/rest/login");
pcLoginRequest.setContentType("application/json");
pcLoginRequest.setHeader("X-x-Password", "xxxxx")
.setHeader("X-x-Username", "xxxxx")
.setHeader("X-x-Content-Type", "application/json");
Promise<Result> myPromise = pcLoginRequest.post("").map(response -> {
ProApiSession.getInstanceOf().setProToeken(response.asJson().get("token").asText());
WSRequest pcrequest = ws.url("http://xxxxx.qa.local:8080/mytest/rest/api/" + apiName);
pcrequest.setContentType("application/json");
pcrequest.setHeader("X-x-Token",ProApiSession.getInstanceOf().getProToeken())
.setBody(requestBody)
.setHeader("X-x-Content-Type", "application/json");
Promise<Result> myPromise2 = pcLoginRequest.post(requestBody).map(response2 -> {
return Results.ok(response2.asJson());
});
return myPromise;
});
有人可以請建議如何做到在遊戲中使用WSRequest嵌套請求。 (import play.libs.ws. *)