App*_*ro2 2 crash android okhttp3
这是我的Java代码:
MediaType CONTENT_TYPE = MediaType.parse("application/x-www-form-urlencoded");
RequestBody requestBody = new MultipartBody.Builder()
.setType(CONTENT_TYPE)
.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();
Run Code Online (Sandbox Code Playgroud)
Mon*_*ain 11
我在使用这个免费休息服务的公共 api/login 时遇到了同样的问题。
在postman 中,当将 body 作为application/x-www-form-urlencoded传递时。但是在 OkHttp3 MultipartBody 中不起作用。
正如@shindi 建议的那样,这段代码非常适合这个 api。
RequestBody requestBody = new FormBody.Builder()
.add("email", "some_email")
.add("password", "some_password")
.build();
Run Code Online (Sandbox Code Playgroud)
请求也不需要 .header() 。为我工作。希望能帮助到你。
我认为您没有正确添加内容类型:
改变这个:
final Request request = new Request.Builder()
.url(Const.URL_HEROKU_BASE+"payment/charge")
.post(requestBody)
.build();
Run Code Online (Sandbox Code Playgroud)
到:
final Request request = new Request.Builder()
.header("Content-Type", "application/x-www-form-urlencoded")
.url(Const.URL_HEROKU_BASE+"payment/charge")
.post(requestBody)
.build();
Run Code Online (Sandbox Code Playgroud)
并移除该.setType(CONTENT_TYPE)零件。
| 归档时间: |
|
| 查看次数: |
6951 次 |
| 最近记录: |