今天遇到一个问题,重构老系统时,前端传递的参数是一个json,controller层可以用@ResponseBody来接收。

因为新系统用的是spring cloud这一套,调用其他服务使用的是feign的形式,找了一圈没有找到合适的方案,于是用OkHttpClient来处理了,这里做个记录。(仍相信feign也能处理,但是刚上手spring cloud,很多都还不是很熟,这里备注作为自己todo的事项)

先看看参数格式:

再看看controller层:

这里使用@RequestBody就可以直接接收到了,后面就直接铺上OKHttpClient的解决代码:

public String createBatch(String jsonString, String url) {
MediaType json = MediaType.parse("application/json; charset=utf-8");
RequestBody requestBody = RequestBody.create(json, jsonString);
Request requestPost = new Request.Builder()
.url(url)
.post(requestBody)
.build();
Response response = null;
String result = null;
try {
response = client.newCall(requestPost).execute();
if (response.body() != null) {
result = response.body().string();
}
} catch (IOException e) {
throw new WebCatException(500, e.getMessage());
} if (StringUtils.isNotBlank(result)) {
JSONObject jsonObject = JSONObject.parseObject(result);
result = jsonObject.getString("data");
} return result;
}

参考:https://blog.csdn.net/zhan10001/article/details/78461143

使用OkHttpClient处理json请求处理的方式的更多相关文章

  1. spring mvc返回json字符串的方式

    spring mvc返回json字符串的方式 方案一:使用@ResponseBody 注解返回响应体 直接将返回值序列化json            优点:不需要自己再处理 步骤一:在spring- ...

  2. 转: .NET MVC3 几种返回 JSON 对象的方式和注意事项

    .NET MVC3 几种返回 JSON 对象的方式和注意事项 转自:http://blog.csdn.net/xxj_jing/article/details/7382589 引言在用 .NET MV ...

  3. cocos-html5 Json 灵活 遍历方式 不同方式的缺陷,优点总结

    1,四种解析Json的方式:Part 1 var list1 = [1,3,4]; alert(list1[1]); var list2 = [{"name":"leam ...

  4. set object is not JSON serializable 解决方式

    python return json的时候报错: set object is not JSON serializable 解决方式,增加一个将set转为list的函数: def set_default ...

  5. 8.7 JSON存储数据方式(JavaScript对象表示法)

    8.7 JSON存储数据方式(JavaScript对象表示法) JSON JavaScript 对象表示法(JavaScript Object Notation) 是一种存储数据的方式. 一.创建JS ...

  6. PHP 开发 APP 接口 学习笔记与总结 - JSON 结合 XML 方式封装通信接口

    要求: 1.在一个类中封装多种数据通信方法(JSON,XML),并且只通过一个入口选择需要的数据通信格式 2.客户端开发工程师可以自行选择数据传输格式(GET 方式) response.php < ...

  7. jquery JSON的解析方式

    第一次用JSON作为jquery异步请求的传输对象,结果在jquery请求后返回的结果是字符串还是json对象上折腾了半天.等到问题解决了,也大致明白怎么个意思了,归根结底还是对jquery对相关js ...

  8. C#解析JSON几种方式-整理

    一.什么是JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition ...

  9. 为什么很多第三方接口,都改成了基于http,直接传递json数据的方式来代替webservice?

    这实际上是三个问题,从WebService到今天流行的RESTful API(JSON) over HTTP,经历了数次变革 1 WebService有很多协议,为什么HTTP比较流行? WebSer ...

随机推荐

  1. ReactNative踩坑日志——OnPress随着render()执行被自动调用?

    在ReactNative中,Text.Button以及其他Touchable包装成的可点击控件,都可以通过onPress属性为其指定点击时的响应函数. 在有些情况下,我们会把这些点击函数先定义好,然后 ...

  2. 转:Flash 插件面板 DragonBonesDesignPanel 的绿色安装方法

    最近在cocos2d-js下捣腾Dragonbones.转一个文章,大家可以参考安装Dragonbones.关于这个Dragonbones,5月份的时候还用得好好的,cocos2d-js还能妥妥的加载 ...

  3. java 第一个java程序

    public class Test16{ public static void main( String args[] ) { System.out.println ("welcome to ...

  4. phoneGap+jquery mobile项目经验

        最近一个月,一直在用phoneGap+jquery mobile来开发一项目. 下面谈谈自己在开发过程中遇到的一些问题以及解决方法. 开始选择框架时,曾试过采用其他框架做UI,例如chocol ...

  5. HP ALM lis

    <?xml version="1.0" encoding="UTF-8"?><license version="1.0"& ...

  6. cmd 运行(打包后的)java程序

    package cn.imeixi.chapter1.exer; public class Exer10PrintArgs { public static void main(String[] arg ...

  7. Redis C客户端Hiredis代码分析

    初始化 redisContext - Redis连接的上下文 /* Context for a connection to Redis */ typedef struct redisContext { ...

  8. MyEclipse 2014安装properties文件插件

    安装步骤 1.下载PropertiesEditor插件 http://propedit.sourceforge.jp/index_en.html2.解压出features.plugins文件3.在My ...

  9. CSS特效(弧光效果)

    代码很简单, 根据需要修改标签class和弧光效果的宽高位置就可以了. <!DOCTYPE html> <html lang="en"> <head& ...

  10. 关于CASE WHEN的多条件汇总问题

    https://bbs.csdn.net/topics/392217817?page=1 问题: --创建测试表 IF EXISTS (SELECT * FROM sys.objects WHERE ...