202  
查询码:00001109
报错:“Only one complex type allowed as argument to a web api controller action.”解决方案
作者: 陈一奇 于 2020年01月03日 发布在分类 / 人防组 / 人防后端 下,并于 2020年01月03日 编辑
ABP

最近在解决word导出时,从前台传数据到后台报错,也无法进断点:

“Only one complex type allowed as argument to a controller action that's binding source is 'Body'. But AddMenu (api/services/app/ArchvieOrganization/AddMenu) contains more than one!

问题原由

不能在 abp框架中的 application中定义的 api接口方法传入多个复杂类型,只有含一个复杂类型,不然在 js侧调用 api接口时会出现以上错误。

什么是复杂类型:自定义的类型就是复杂类型

api接口的方法只能有一个复杂类型(返回值、传入参数)

如果通过js调用的接口方法中有其他接口方法嵌套调用,被调用的接口方法只能有一个复杂类型(有多个复杂类型会报死循环的错误)

猜测原因:不停的去容器中找对应接口方法,找不到引发死循环

不能在接口方法中设置DataTable类型的变量


Before

粘贴图片


After     将两个类放在了一个类里就可以了

粘贴图片


粘贴图片



 推荐知识

 历史版本

修改日期 修改人 备注
2020-01-03 14:16:55[当前版本] 陈一奇 创建版本

 附件

附件类型

PNGPNG

知识分享平台 -V 4.8.7 -wcp