当前位置: 首页 > news >正文

网站备案下来以后怎么做网页如何设计网站

网站备案下来以后怎么做网页,如何设计网站,wordpress the_,搜索引擎大全排名项目用已经使用了 Retrofit#xff0c;定义了接口方法#xff0c;返回了 JSON 转换后的实体对象#xff0c;炒鸡方便。但是总有意料之外的时候#xff0c;比如我不需要返回实体对象#xff0c;我要返回纯纯的 JSON 字符串#xff0c;怎么办呢#xff1f; 先看源码 通过… 项目用已经使用了 Retrofit定义了接口方法返回了 JSON 转换后的实体对象炒鸡方便。但是总有意料之外的时候比如我不需要返回实体对象我要返回纯纯的 JSON 字符串怎么办呢 先看源码 通过一系列的源码分析最后定位到 OkHttpCall 中的 parseResponse() 方法 下面代码中的 parseResponse 方法是纯复制过来的没改过可以看出当接口返回正确的数据之后无论如何都会调用 T body responseConverter.convert(catchingBody)把 JSON 字符串转换成了一个 T 对象我们没有办法通过配置什么东西来实现我们要返回纯 JSON 字符串的需求所以要想其他办法。两个办法1、让它转我们再转回来2、我们自己定义怎么转。 final class OkHttpCallT implements CallT {ResponseT parseResponse(okhttp3.Response rawResponse) throws IOException {ResponseBody rawBody rawResponse.body();// Remove the bodys source (the only stateful object) so we can pass the response along.rawResponse rawResponse.newBuilder().body(new NoContentResponseBody(rawBody.contentType(), rawBody.contentLength())).build();int code rawResponse.code();if (code 200 || code 300) {try {// Buffer the entire body to avoid future I/O.ResponseBody bufferedBody Utils.buffer(rawBody);return Response.error(bufferedBody, rawResponse);} finally {rawBody.close();}}if (code 204 || code 205) {rawBody.close();return Response.success(null, rawResponse);}ExceptionCatchingResponseBody catchingBody new ExceptionCatchingResponseBody(rawBody);try {T body responseConverter.convert(catchingBody);return Response.success(body, rawResponse);} catch (RuntimeException e) {// If the underlying source threw an exception, propagate that rather than indicating it was// a runtime exception.catchingBody.throwIfCaught();throw e;}} }方法一返回 JSONObject 后再转 JSON 字符串 这个很简单我们把返回实体类改成 JSONObject然后 Converter 会帮忙我们转成 JSONObject然后我们再转成字符串即可。缺点就是转了两轮。 // 接口定义 POST(xxx) fun fetch(Body param: RequestBody): CallJSONObject// 使用 val response api.fetch(param).execute() val json response.body()?.toJSONString() ?: 方法二自定义 Converter 模仿 FastJsonResponseBodyConverter 自定义一个 Converter直接返回字符串不转实体对象即可收工。 // 自定义Converter // 挖坑理论上可以定义一个注解然后判断 annotations 中是否包含此注解 // 如果包含则返回自定义Converter否则返回原来的Converter。 .addConverterFactory(object : Converter.Factory() {override fun responseBodyConverter(type: Type,annotations: Arrayout Annotation,retrofit: Retrofit): ConverterResponseBody, String {return ConverterResponseBody, String { responseBody -responseBody.use { it.string() }}} })// 接口定义 POST(xxx) fun fetch(Body param: RequestBody): CallString// 使用 val response api.fetch(param).execute() val json response.body() ?:
http://www.hkea.cn/news/14452614/

相关文章:

  • 比较好的平面设计网站网页设计作品特色及亮点
  • 荆州大气网站建设价格网站做关键词排名有必要吗
  • 东莞网站建设都用哪个好网站续费协议
  • 注册一个网站域名一年需要多少钱手机排行榜2022前十名
  • 网站加载速度广东建设企业网站哪家好
  • 网站加速服务如何自己做企业网站
  • 网站目录 index.html久久时间计算网
  • 单位门户网站功能wordpress部分图片
  • 三型布局的网站谷歌搜索引擎 google
  • 数据库做图书管理系统网站seo优化培训课程
  • 郑州专业做微信网站女子拿快递被感染新冠
  • 茅台技术开发公司官网seo排名优化软件有用
  • wordpress 网站 图标关键词排名查询工具有哪些
  • 企业网站 源码网站的内容做证据观点
  • 视频网站开发房产网排名
  • react做的网站有哪些怎样建个小公司的网站
  • 免费刷赞网站推广qq免费华为 wordpress
  • 建设银行 成都 招聘网站网站建设成本报表
  • 广州手机网站设计展示网站报价方案
  • 高中文凭能学做网站吗网站开发项目设计文档
  • 电脑网站打不开怎么解决做个网站多少钱 百度能查到的
  • 网站开发环境是什么意思.mil 域名网站有哪些
  • 中山网站建设工具猫直播平台app开发
  • 建站系统cms是什么asp网站图片
  • 如何做网站的维护苏州互联网招聘
  • 网站建设需要集齐哪5份资料网站建设上机考试题目
  • 个人建站做图片能去哪些网站
  • 如何低成本做网站推广企业网站营销
  • 做静态网站深圳led网站建设
  • 怎么做网站滑动图片部分南通企业建设网站电话