- 主题:如何填这个api/json的坑
用restTemplate 对接一个服务restful api 接口
这个api有个坑,
如果 执行成功返回
{
"code": "200",
"data": ["item1", "item2"]
}
如果失败,
{
"code": "500",
"data": 2
}
导致data字段 反序列化时失败,
这接口设计肯定有问题,但先不说改接口
有什么优雅的方法填这个坑么?
--
FROM 111.206.87.*
data里放object
根据code进行类型强转
【 在 hothail 的大作中提到: 】
: 用restTemplate 对接一个服务restful api 接口
: 这个api有个坑,
: 如果 执行成功返回
: ...................
--
FROM 221.216.117.*
jackson的话用JsonRawValue拿原始值
【 在 hothail 的大作中提到: 】
: 用restTemplate 对接一个服务restful api 接口
: 这个api有个坑,
: 如果 执行成功返回
: ...................
--
FROM 116.233.89.*
我的话我会这么做
abstract class Xxx{
private String code;
}
class Xx1 extends Xxx{
private String[] data;
}
class Xx2 extends Xxx{
private String data;
}
然后根据code的值将Xxx映射到不同的子类,具体怎么映射要看你用的解析类了,搜了下gson,好像还挺啰嗦的,不过可能我没搜对
【 在 hothail 的大作中提到: 】
: 用restTemplate 对接一个服务restful api 接口
: 这个api有个坑,
: 如果 执行成功返回
: ...................
--
FROM 183.6.114.*
发一个jackson的例子,结果触发关键字审核了。。。。
【 在 canper 的大作中提到: 】
: 我的话我会这么做
: abstract class Xxx{
: private String code;
: ...................
--
FROM 183.6.114.*
才发现有code可以区分格式
那确实用Jackson的多态最合适
【 在 canper 的大作中提到: 】
: 我的话我会这么做
: abstract class Xxx{
: private String code;
: ...................
--
FROM 116.233.89.*
这个data不是固定的,就不要序列化成对象了
--
FROM 114.254.26.*
用map,不用pojo
【 在 hothail (沸冰!无尽的华尔兹) 的大作中提到: 】
:
: 用restTemplate 对接一个服务restful api 接口
:
: 这个api有个坑,
--
FROM 117.136.38.*
出处转error处理可破
【 在 hothail 的大作中提到: 】
: 用restTemplate 对接一个服务restful api 接口
: 这个api有个坑,
: 如果 执行成功返回
: ...................
--
FROM 120.244.162.*