0
herokuノードサーバーにパラメータを転送するためにOKHTTP 3を使用する際に問題があります。OKHTTP 3リクエストポストパラメータがHerokuのノードサーバーに転送されない
これはPostmanとは正常に動作しますが、Android Appは動作しません。
アンドロイドコード(パラメータが下部にHerokuのログに定義されていません)
public void makePayment(String phone, String token, String type, double amount, final ResultListener listener){ RequestBody requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM) .setType(MultipartBody.FORM) .addFormDataPart("phoneNumber", phone) .addFormDataPart("serviceType", type) .addFormDataPart("stripeToken", token) .addFormDataPart("serviceCost", String.valueOf(amount)) .build(); final Request request = new Request.Builder() .url(Const.URL_HEROKU_BASE+"payment/charge") .post(requestBody) .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { if (listener != null) { listener.onResponse(false, e.getLocalizedMessage()); } } @Override public void onResponse(Call call, Response response) throws IOException { if (listener != null) { listener.onResponse(true, response.body().string()); } } }); }
Herokuのノードサーバー(デバッグ)
router.post('/charge', (req, res, next) => { const phoneNumber = req.body.phoneNumber; const serviceType = req.body.serviceType; const stripeToken = req.body.stripeToken; const serviceCost = req.body.serviceCost; console.log('phoneNumber : ' + phoneNumber); console.log('serviceType : ' + serviceType); console.log('stripeToken : ' + stripeToken); console.log('serviceCost : ' + serviceCost); ... .... .... });