Ich lerne über JAX-RS und Jersey. Ich versuche, Daten an eine URL zu schreiben aber ich habe ein Problem, ich weiß nicht, zu beheben:Jersey Client Buchungsformular Daten
Form formData = new Form();
formData.param("merchant_id", mPayment.getMerchantId());
formData.param("transaction_id", mPayment.getTransactionId());
formData.param("code", mPayment.getCode());
formData.param("amount", String.valueOf(mPayment.getAmount()));
formData.param("desc", mPayment.getDesc());
formData.param("phone", mPayment.getPhone());
Response response = target.path("process").request()
.accept(MediaType.APPLICATION_JSON)
.post(Entity.form(formData));
Jetzt ist alles gut funktioniert, wenn es nur eine Zeichenfolge jedoch der Server einen float-Datentyp für das Feld erwartet Betrag aber wenn ich versuche, es ohne String.valueOf()
zu verwenden, erhalte ich einen Fehler. Wie füge ich Parameter mit unterschiedlichen Datentypen hinzu, damit ich posten kann?
Keine Sorge, es in der Verantwortung des Servers ist in float zu werfen, falls erforderlich. Sie können einfach alles in String umwandeln und senden. Daher ist Ihr Code korrekt. –
FYI - das 'param' nimmt nur String-Parameter - https://github.com/jax-rs/api/blob/master/jaxrs-api/src/main/java/javax/ws/rs/core/Form. Java wie erwartet. –