Ich kann nicht einen API-Aufruf im Play-Framework mit Java aufrufen. der Code sieht wie eine gute aus, aber der API-Aufruf wurde nicht ausgelöst (API-Aufruf funktioniert gut in Postman). Ich denke, es könnte das Problem im Zusammenhang mit Threads sein und ich bin nicht in der Lage, die asynchrone Aufgabe im Play-Framework zu schreiben, bitte helfen Sie mir. Das Beste hoffen! Danke im Voraus!POST REST API-Aufruf mit JSON-Body funktioniert nicht im Play-Framework mit Java
finden Sie den Code der API in der Steuerung Datei Offenbar
public Result updateTripDetail() {
//few statements;
String url = "https://medicines-XXX/MZIMRestServicesXXX/v1/XXXX";
JSONObject jsonBody = new JSONObject();
jsonBody.put("source_type", "XXX");
jsonBody.put("omorder_id", "25852");
if (Rescheduled.equals(ride.getRideStatus())) {
jsonBody.put("order_status", "RequestForReschedule");
} else if (RideCancelled.equals(ride.getRideStatus())) {
jsonBody.put("order_status", "RequestForCancel");
} else {
jsonBody.put("order_status", ride.getRideStatus());
}
jsonBody.put("last_updated_on", new Date());
apiPostCall(url,jsonBody.toString());
return redirect("/ride/rideList");
}
public void apiPostCall(String completeUrl, String body) {
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(completeUrl);
httpPost.setHeader("Content-type", "application/json");
try {
StringEntity stringEntity = new StringEntity(body);
httpPost.getRequestLine();
httpPost.setEntity(stringEntity);
httpClient.execute(httpPost);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
Warum gehst du nicht verwenden, um die WS-API? https://www.playframework.com/documentation/2.2.x/JavaWS –
Der Code, mit dem Sie Probleme haben, gehört nicht zum Play-Framework und Sie geben zu diesen Klassen nichts an. Es ist auch ziemlich vage, was das eigentliche Problem/der Fehler ist. Es würde helfen, wenn Sie diese Dinge klären. – gpgekko
Haben Sie das Debuggen versucht, wenn Sie es ausführen, erreicht es den Ausführungsaufruf? – Jaanus