报错:“Only one complex type allowed as argument to a web api controller action.”解决方案

最近在解决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     将两个类放在了一个类里就可以了

粘贴图片

 

粘贴图片

posted @ 2020-01-03 14:20  苏苏苏en  Views(252)  Comments(0Edit  收藏  举报