使用OkHttpClient处理json请求处理的方式
今天遇到一个问题,重构老系统时,前端传递的参数是一个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请求处理的方式的更多相关文章
- spring mvc返回json字符串的方式
spring mvc返回json字符串的方式 方案一:使用@ResponseBody 注解返回响应体 直接将返回值序列化json 优点:不需要自己再处理 步骤一:在spring- ...
- 转: .NET MVC3 几种返回 JSON 对象的方式和注意事项
.NET MVC3 几种返回 JSON 对象的方式和注意事项 转自:http://blog.csdn.net/xxj_jing/article/details/7382589 引言在用 .NET MV ...
- cocos-html5 Json 灵活 遍历方式 不同方式的缺陷,优点总结
1,四种解析Json的方式:Part 1 var list1 = [1,3,4]; alert(list1[1]); var list2 = [{"name":"leam ...
- set object is not JSON serializable 解决方式
python return json的时候报错: set object is not JSON serializable 解决方式,增加一个将set转为list的函数: def set_default ...
- 8.7 JSON存储数据方式(JavaScript对象表示法)
8.7 JSON存储数据方式(JavaScript对象表示法) JSON JavaScript 对象表示法(JavaScript Object Notation) 是一种存储数据的方式. 一.创建JS ...
- PHP 开发 APP 接口 学习笔记与总结 - JSON 结合 XML 方式封装通信接口
要求: 1.在一个类中封装多种数据通信方法(JSON,XML),并且只通过一个入口选择需要的数据通信格式 2.客户端开发工程师可以自行选择数据传输格式(GET 方式) response.php < ...
- jquery JSON的解析方式
第一次用JSON作为jquery异步请求的传输对象,结果在jquery请求后返回的结果是字符串还是json对象上折腾了半天.等到问题解决了,也大致明白怎么个意思了,归根结底还是对jquery对相关js ...
- C#解析JSON几种方式-整理
一.什么是JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition ...
- 为什么很多第三方接口,都改成了基于http,直接传递json数据的方式来代替webservice?
这实际上是三个问题,从WebService到今天流行的RESTful API(JSON) over HTTP,经历了数次变革 1 WebService有很多协议,为什么HTTP比较流行? WebSer ...
随机推荐
- ReactNative踩坑日志——OnPress随着render()执行被自动调用?
在ReactNative中,Text.Button以及其他Touchable包装成的可点击控件,都可以通过onPress属性为其指定点击时的响应函数. 在有些情况下,我们会把这些点击函数先定义好,然后 ...
- 转:Flash 插件面板 DragonBonesDesignPanel 的绿色安装方法
最近在cocos2d-js下捣腾Dragonbones.转一个文章,大家可以参考安装Dragonbones.关于这个Dragonbones,5月份的时候还用得好好的,cocos2d-js还能妥妥的加载 ...
- java 第一个java程序
public class Test16{ public static void main( String args[] ) { System.out.println ("welcome to ...
- phoneGap+jquery mobile项目经验
最近一个月,一直在用phoneGap+jquery mobile来开发一项目. 下面谈谈自己在开发过程中遇到的一些问题以及解决方法. 开始选择框架时,曾试过采用其他框架做UI,例如chocol ...
- HP ALM lis
<?xml version="1.0" encoding="UTF-8"?><license version="1.0"& ...
- cmd 运行(打包后的)java程序
package cn.imeixi.chapter1.exer; public class Exer10PrintArgs { public static void main(String[] arg ...
- Redis C客户端Hiredis代码分析
初始化 redisContext - Redis连接的上下文 /* Context for a connection to Redis */ typedef struct redisContext { ...
- MyEclipse 2014安装properties文件插件
安装步骤 1.下载PropertiesEditor插件 http://propedit.sourceforge.jp/index_en.html2.解压出features.plugins文件3.在My ...
- CSS特效(弧光效果)
代码很简单, 根据需要修改标签class和弧光效果的宽高位置就可以了. <!DOCTYPE html> <html lang="en"> <head& ...
- 关于CASE WHEN的多条件汇总问题
https://bbs.csdn.net/topics/392217817?page=1 问题: --创建测试表 IF EXISTS (SELECT * FROM sys.objects WHERE ...