Android post参数太长请求失败问题解决
使用post请求,如下所示:
retrofitHelper.getService(OnlineAnalyzeApi.class, UrlConstant.getBaseUrl(mView.getContext()), 120).newAnalyzeOnline(rangeData, names).compose(RxSchedulers.<NewAnalysis>io2main()).subscribe(new RxSubscriber<NewAnalysis>() {@Overridepublic void _onNext(NewAnalysis newAnalysis) {Log.d(TAG, "_onNext: -----获取在线执法分析的数据=" + new Gson().toJson(newAnalysis) + "访问的地址=" + UrlConstant.getBaseUrl(mView.getContext()));mView.dismissProgressDialog();mView.handlerQueryResult(newAnalysis);}@Overridepublic void _onError(Throwable e, String msg) {mView.dismissProgressDialog();mView.handlerQueryResult(null);ToastUtil.showShortSafe(msg, mView.getContext());}});
@POST("/geowebserver/analysis/TbAnalysis.ashx") Observable<Result<AnalysisResult>> new0603AnalyzeOnline(@Query("geometry") String data, @Query("layernames") String layers);
当geometry和layernames两个参数长度不长的时候是可以正常访问接口的,但是当参数长度太长的时候接口请求失败了,猜想是参数长度造成的。
换成body的形式试一试,将参数以hashMap的形式放入body中;
HashMap<String,String> hashMap=new HashMap<>(); hashMap.put("geometry",rangeData); hashMap.put("layernames",names); RequestBody body=getRequestBody(hashMap); retrofitHelper.getService(OnlineAnalyzeApi.class, UrlConstant.getBaseUrl(mView.getContext()), 120).new0603AnalyzeOnline(body).compose(RxSchedulers.<Result<AnalysisResult>>io2main()).subscribe(new RxSubscriber<Result<AnalysisResult>>() {@Overridepublic void _onNext(Result<AnalysisResult> analysisResult) {Log.d(TAG, "_onNext: -----获取在线执法分析的数据=" + new Gson().toJson(analysisResult) + "访问的地址=" + UrlConstant.getBaseUrl(mView.getContext()));mView.dismissProgressDialog();mView.handlerQueryResult(analysisResult);}@Overridepublic void _onError(Throwable e, String msg) {mView.dismissProgressDialog();mView.handlerQueryResult(null);ToastUtil.showShortSafe(msg, mView.getContext());}});
@POST("/geowebserver/analysis/TbAnalysis.ashx") Observable<Result<AnalysisResult>> new0603AnalyzeOnline(@Body RequestBody requestBody);
结果接口参数长也可以正常请求成功,问题解决,记录一下。
Android post参数太长请求失败问题解决相关推荐
- springboot post 请求参数过长请求接口报错 An HTTP line is larger than 4096 bytes
springboot项目post请求参数过长请求接口报错如下: 解决办法将post请求参数值调大: server:tomcat:max-http-form-post-size: 5MB
- Android渲染时间 太长,Android性能优化之渲染篇
1)基本概念 在一个典型的显示系統中,一般包括CPU.GPU.display三個部分, CPU负责計计算数据,把计算好数据交給GPU,GPU会对图形数据进行渲染,渲染好后放到buffer里存起來,然后 ...
- get 参数太长怎么办_新买的手表表带太长了该怎么办?表带调节操作方法get你~...
表表哥 点击☝上方蓝字关注我们 表带是手表的重要组成部分,同时表带决定着手表佩带的舒适性,方便性,对手表的安全也有关系.现在表带的材质也很多,最常见的就是不锈钢的和真皮的. 买过手表的人应该都知道,只 ...
- Android百度地图导航引擎初始化失败问题解决
在确认代码无误,assets目录两个jpg,与一个channel文件都在,添加的so文件也与百度开发文档一致后,仍然提示百度导航引擎初始化失败 最终将百度地图开发包下libs/armeabi下所有的s ...
- 【实习】解决请求参数过长问题
又要解决bug啦!!! 由于前端传过来的json数据过长导致请求参数太长,最后出现空指针异常. HTTP/1.1 414 Request-URI Too Large 解决方法: 参考:Java使用GZ ...
- H5页面跳转传递参数过长
最近做H5页面的时候,用href跳转的时候,遇到一个问题,url+parm太长,导致跳转页面接收的参数被截断. <a href="url"></a> 解决方 ...
- ajax请求到参数太大获取参数失败问题,Ajax请求参数较长导致请求失败
Ajax请求参数比较长,第5行参数大概1100个字符吧,是接口的请求报文. $.ajax({ type:"POST", url:"${ctx}/test.action?m ...
- Android 10 上使用WifiNetworkSpecifier 连接WiFi后http请求失败 Connection failed
问题描述:在连接设备热点的开发中,使用WifiNetworkSpecifier连上设备热点,再切换回原网络后,http请求一直报SocketException: Connection failed ( ...
- android okgo 参数map,OkGo 网络请求框架介绍与使用说明
前言 使用 Android Studio 用户 一般来说,只需要添加第一个 okgo 的核心包即可,其余的三个库根据自己的需要选择添加. //必须使用 compile 'com.lzy.net:okg ...
最新文章
- 关于JTable的使用
- Windbg调试命令详解
- boost::hana::detail模块实现相关算法的测试程序
- Oracle Long类型转换为Clob类型
- 骑士游历问题问题_骑士步行问题
- 跨站脚本专题 XSS
- 毕业生当头一棒?忆本科四年,高校毕业生与就业单位基本要求差多少?工作还是考研?
- 江苏计算机专业,行情火爆的计算机专业:江苏计算机专业高校最低录取分排序...
- 【AI视野·今日CV 计算机视觉论文速览 第217期】Thu, 10 Jun 2021
- 95-170-050-源码-Time-flink的时间及时区问题解决
- 六年级下计算机课ppt课件ppt课件,小学信息技术浙摄影版六年级上册第1课 走进计算机说课ppt课件...
- 最新如何解决git 输入github时每次都要输入用户名和密码问题
- VS2015下载地址和安装教程(图解)
- OA系统四级模块编写测试用例(角色模块)
- 数字孪生技术协助信息物理系统构建数字化城市
- Tomcat架构解析之Digester
- fspecial在matlab中什么意思,Matlab中fspecial的用法 | 学步园
- Win10怎么设置自动锁屏? win10自动锁屏的两种方法
- C语言判断闰年计算某月的天数代码
- 百度搜索开户竞价推广如何写出优质创意?