Java 如何在android studio中使用多部分/表单数据okhttpclient请求post字符串
我一直在使用我的代码,我需要帮助,我想向服务器请求具有多部分/表单数据内容类型的post字符串数据 我的代码:Java 如何在android studio中使用多部分/表单数据okhttpclient请求post字符串,java,android,okhttp,Java,Android,Okhttp,我一直在使用我的代码,我需要帮助,我想向服务器请求具有多部分/表单数据内容类型的post字符串数据 我的代码: strCode = barcodeText.getText().toString(); selected = "1"; strRemark = remarkText.getText().toString(); OkHttpClient client = new OkHttpClient().newBuilder() .build()
strCode = barcodeText.getText().toString();
selected = "1";
strRemark = remarkText.getText().toString();
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("multipart/form-data");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("barcode",strCode)
.addFormDataPart("status", selected)
.addFormDataPart("remark",strRemark)
.build();
Request request = new Request.Builder()
.url(url + id_product)
.method("POST", body)
.addHeader("Content-Type", "multipart/form-data; boundary=<calculated when request is sent>")
.addHeader("Authorization", "Bearer" + token)
.addHeader("Accept", "application/json")
.build();
try {
Response response = client.newCall(request).execute();
String strRespone = response.toString();
String jsonData = response.body().string();
JSONObject Jobject = new JSONObject(jsonData);
String status = Jobject.getString("status");
String header = Jobject.getString("status");
message = Jobject.getString("massage");
} catch (IOException | JSONException e) {
e.printStackTrace();
}
strCode=barcodeText.getText().toString();
已选择=“1”;
stremark=remarkText.getText().toString();
OkHttpClient客户端=新的OkHttpClient().newBuilder()
.build();
MediaType MediaType=MediaType.parse(“多部分/表单数据”);
RequestBody body=new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart(“条形码”,strCode)
.addFormDataPart(“状态”,选中)
.addFormDataPart(“备注”,STREMARK)
.build();
Request Request=newrequest.Builder()
.url(url+id\u产品)
.方法(“后”,正文)
.addHeader(“内容类型”,“多部分/表单数据;边界=”)
.addHeader(“授权”、“持有人”+令牌)
.addHeader(“接受”、“应用程序/json”)
.build();
试一试{
Response=client.newCall(request.execute();
字符串strRespone=response.toString();
String jsonData=response.body().String();
JSONObject Jobject=新的JSONObject(jsonData);
字符串状态=Jobject.getString(“状态”);
字符串头=Jobject.getString(“状态”);
message=Jobject.getString(“按摩”);
}捕获(IOException | JSONException e){
e、 printStackTrace();
}
我总是收到失败的回复。响应称所有my字段(strCode、selected和stremark)的值为空
“状态”:“失败”,
“按摩”:“条形码字段是必需的。
状态字段是必需的。
标记字段是必需的。”
为什么我要使用多部分/表单数据来发布字符串,因为下一步我也要发布文件位图
"status": "failed",
"massage": "The barcode field is required.<br/>The status field is required.<br/>The remarkfield is required."