OkHttp使用post请求注意点

简单谈谈个人在使用OkHttp过程中发现的注意点:

1.提交键值对

OkHttpClient client = new OkHttpClient();
String post(String url, String json) throws IOException {
 RequestBody formBody = new FormEncodingBuilder() 
.add("platform", "android") 
.add("name", "bug") 
.add("subject", "XXXXXXXXXXXXXXX")
 .build();  
Request request = new Request.Builder() 
.url(url) 
.post(body)
 .build(); 
 Response response = client.newCall(request).execute(); 
if (response.isSuccessful()) {
 return response.body().string(); 
} 
else { 
throw new IOException("Unexpected code " + response);
 }}```
主要使用FormEncodingBuilder来添加参数值、post url即可
###2.上传文件此处以上传图片为例

protected RequestBody postBody(File file) {
// 设置请求体
MediaType MEDIA_TYPE_PNG = MediaType.parse("image/png");
RequestBody body = MultipartBody.create(MEDIA_TYPE_PNG, file);
MultipartBody.Builder builder = new MultipartBody.Builder();
builder.setType(MultipartBody.FORM);
//这里是 封装上传图片参数
builder.addFormDataPart("file", file.getName(), body);
// 封装请求参数,这里最重要
HashMap<String, String> params = new HashMap<>();
params.put("client","Android"); params.put("uid","1061");
params.put("token","1911173227afe098143caf4d315a436d");
params.put("uuid","A000005566DA77");
//参数以添加header方式将参数封装,否则上传参数为空
if (params != null && !params.isEmpty()) {
for (String key : params.keySet()) {
builder.addPart(Headers.of("Content-Disposition", "form-data; name="" + key + """), RequestBody.create(null, params.get(key))); } }```

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,691评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,188评论 19 139
  • 今天学习了一下OkHttp,在这里做个总结,希望可以帮助到有需要的人,好了,废话不多说,进入正题。 一、OkHtt...
    冰鉴IT阅读 59,603评论 14 94
  • 本文为菜鸟窝作者蒋志碧的连载。“从 0 开始开发一款直播 APP ”系列来聊聊时下最火的直播 APP,如何完整的实...
    菜鸟窝阅读 11,532评论 0 11
  • Part 1:时间记录汇总记录日期:2017-10-05记录时长:24:12:35剑飞人生第10370天当天时间记...
    剑飞在思考阅读 1,153评论 0 0

友情链接更多精彩内容