android retrofit 获取post请求参数值
来源:互联网 发布:js弹出窗口居中 编辑:程序博客网 时间:2024/06/05 18:08
Android 使用retrofit + okhttp + Rxjava2.x 做网络请求已成为趋势
我最近使用
Flowable<ApiResponse<Object>> getFacevalidety(@Part("ID") String ID, @Part("name") String name,
@Part MultipartBody.Part part)
做网络请求的时候发现一个很有意思的问题,
如:int ID = 10, 是一个int类型的值,然后把ID转换成String类型传到服务器,变成“10”,在外面添加一层引号;
如果我想把post请求的参数打印出来看过究竟;下面就是post请求查看请求参数的方法;
这个不管是FormBody,MultipartBody都可以获取到请求参数
if(body != null){
try {
Buffer buffer = new Buffer();
body.writeTo(buffer);
Charset charset =UTF8;
//请求参数值保存在requestbody中的charset
MediaType contentType = body.contentType();
if (contentType != null) {
charset = contentType.charset(UTF8);
}
if (isPlaintext(buffer)) {
//把charset 读到buffer中
LogUtil.e(TAG,buffer.readString(charset));
LogUtil.e(TAG,"--> END " + request.method()
+ " (" + body.contentLength() + "-byte body)");
} else {
LogUtil.e(TAG,"--> END " + request.method() + " (binary "
+ body.contentLength() + "-byte body omitted)");
}
} catch (IOException e) {
e.printStackTrace();
}
}
//单纯读取FormBody 中的key与value
if (request.body() instanceof FormBody) {
FormBody oldFormBody = (FormBody) request.body();
for (int i = 0; i < oldFormBody.size(); i++) {
sb.append(oldFormBody.encodedName(i) + "=key=value==" + oldFormBody.encodedValue(i));
}
}static boolean isPlaintext(Buffer buffer) {
try {
Buffer prefix = new Buffer();
long byteCount = buffer.size() < 64 ? buffer.size() : 64;
buffer.copyTo(prefix, 0, byteCount);
for (int i = 0; i < 16; i++) {
if (prefix.exhausted()) {
break;
}
int codePoint = prefix.readUtf8CodePoint();
if (Character.isISOControl(codePoint) && !Character.isWhitespace(codePoint)) {
return false;
}
}
return true;
} catch (EOFException e) {
return false; // Truncated UTF-8 sequence.
}
}
- android retrofit 获取post请求参数值
- Android网络请求使用Retrofit+OkHttp,如何获取请求参数 ?
- 安卓Retrofit post请求 带参数
- 11.1 python之webpy获取请求参数,把数据库结果放到List,Retrofit Post
- Android发post请求, 服务器端如何获取参数
- retrofit post请求
- ReTrofit请求post
- retrofit sendto failed: ECONNRESET (Connection reset by peer)【android客户端Post请求参数长度限制(参数过大)】解决办法
- 【httplistener监听获取Post请求参数】
- 【http】get/post 获取请求参数
- 【httplistener监听获取Post请求参数】
- http get或者post请求获取参数
- lua获取post请求的参数
- #nodejs post或get 请求获取参数
- java获取GET和POST请求参数
- 初学者--Android Retrofit+RxJava+OkHttp使用post请求
- 初学者---Android (简单总结)Retrofit请求方式之get,post
- Retrofit 请求参数类型
- Mybatis+mysql之insert返回主键id
- C/C++练习7---求某个范围内的所有素数
- 剑指offer每日一刷-2017年11月24日(补2017年11月23日)
- linux系统上搭建Hadoop2.6分布式集群
- matlab-插值
- android retrofit 获取post请求参数值
- Sinequa扩展其AI技术以缩小大型企业之间的数字鸿沟
- Lintcode162 Set Matrix Zeroes solution 题解
- 红黑树 修复
- 数据库保护
- linux系统上搭建Hbase分布式集群
- angular2假数据
- iOS 中关于@synchronized的一点思考
- git撤销的方法