我在service中定义了一个方法,用于接受json参数,json中属性比较多。那么在rest-service中暴露这个接口时怎么使用map或者转换为对应的实体接受呢?使用Apifox测试,提示Json中每个属性都要在方法中定义,如果属性很多的话该怎么处理?
param 的name 是 map
你的参数名就应该叫 map吧:
{
"map":
{
"poId:"",
...
}
}
我的意思是如果json中参数太多,后台能直接用一个map或者对象接收吗,刚才是我用map接收测试下不行。如下,我在方法参数中一个个定义是没问题的,但如果更多呢,有什么比较好的办法接收吗?
呃。。你没转过弯来。
我的意思是说,你在 java 代码里定义方法的参数比方说是这样:
void testMethod(Map<String,String> map);
这里唯一一个参数的名字是 map
,那么你在 Apifox里面的 JSON中,要用"map"
作为json的键值,其内容为map中的key-value:
我理解你的意思了,只是JSON是其他系统调用接口传递过来的,我这边是负责暴露接口接收JSON数据,所以想了解像刚才那种JSON属性很多的情况下传递过来,该怎么用map或者对象接受,而不用一个个的在方法中定义参数
这个用CUBA的rest service是做不到的。在匹配方法的时候就会因为参数不对而报错。
你要是不想一个一个定义参数,只能用上面的map或者对象接收,那样前端的JSON需要他们改一下。
好的,多谢提供帮助