WebAPI - Controller vs ApiController?



我想这是一个语义问题。但是在我的WebAPI项目中,我有一个视图,它应该允许用户查找资源(不管资源是什么)。所以我创建了一个控制器叫做FindResourceController它是从Controller衍生出来的。然后,我使用razor和jQuery创建我的视图。我的控制器有一个方法,叫做Index它返回这个视图

到目前为止一切顺利。

但是我也想要一个ApiController来处理我的FindResource视图的jQuery请求。按照开箱即用的惯例,API url像api/FindResource/一样路由,所以我应该将我的API控制器命名为FindResourceController,并从ApiController派生它。但我已经有这门课了。然后我可以命名它为findresourceapicontroller,但url映射到api/FindResourceApi/,这似乎是多余的。

这对我来说似乎有点笨拙。所以要么是我错过了什么,要么就是这样……做这样的事情时你会在你的web API项目中做什么?

编辑:到目前为止,这是我所发现的链接到文章

您是否可以选择将类型放在不同的名称空间中?你可以有一个Controllers命名空间和一个ApiControllers命名空间,并在每个命名空间中都有一个FindResourceController。虽然它可能会引起一些冲突,所以它不是一个完美的解决方案,但它可能适合您。