|
如果想了解xml与字符串之间的转换可以参考这个,JAVA工具类总结——xml字符串与对象的转换
Okhttp3发送请求的写法比较简单,使用前先引入依赖,然后在使用方法即可。
以下仅仅包括post方式发送xml字符串、get请求获取json、post请求发送文件及参数这三种方法。
1、引入依赖
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.3.1</version>
</dependency>
2、加入工具类
package znxd.video.bank.base;
import okhttp3.*;
import java.io.File;
public class Okhttp3Utils {
public static String postXml(String url,String xmlStr){
RequestBody body=RequestBody.create(MediaType.parse("application/xml"),xmlStr);
Request requestOk = new Request.Builder()
.url(url)
.post(body)
.build();
Response response;
try {
response = new OkHttpClient().newCall(requestOk).execute();
String jsonString = response.body().string();
if(response.isSuccessful()){
return jsonString;
}
} catch (Exception e) {
e.printStackTrace();
return e.getMessage();
}
return "";
}
public static String getJson(String url){
Request requestOk = new Request.Builder()
.url(url)
.get()
.build();
Response response;
try {
response = new OkHttpClient().newCall(requestOk).execute();
String jsonString = response.body().string();
if(response.isSuccessful()){
return jsonString;
}
} catch (Exception e) {
e.printStackTrace();
return e.getMessage();
}
return "";
}
public String uploadFilePost(String url,String uploadDir,String baseFileUrl,String relativeUrl){
File temporaryFile = new File(baseFileUrl+relativeUrl);
if(!temporaryFile.exists()){
return "";
}
RequestBody requestBody = new MultipartBody.Builder()
.addFormDataPart("uploadDir", uploadDir)
.addFormDataPart("fileUrl", relativeUrl)
.addFormDataPart("file", temporaryFile.getName(), RequestBody.create(MediaType.parse("application/octet-stream"),temporaryFile))
.build();
Request requestOk = new Request.Builder()
.url(url)
.post(requestBody)
.build();
Response response;
try {
response = new OkHttpClient().newCall(requestOk).execute();
String jsonString = response.body().string();
if(response.isSuccessful()){
return jsonString;
}
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
}
|