DNN假面酒吧模块路由
我试图创造dnn9 DNN的角色吧模块, 前端部分发送请求,如URL - http://dnndev.me/API/personaBar/ControllerName/ActionName ,我得到错误 - 无法找到搜索在http://dnndev.me/API/personaBar/ControllerName/ActionName 控制器命名空间:Dnn.PersonaBar.AdminLogs.Services,Dnn.PersonaBar.ConfigConsole.Services,Dnn.PersonaBar.CssEditor.Services,Dnn.PersonaBar.Extensions.Services,Dnn.PersonaBar.Licensing.Services,Dnn.PersonaBar.Pages.Services, Dnn.PersonaBar.Recyclebin.Services,Dnn.PersonaBar.Roles.Services,Dnn.PersonaBar.Security.Services,Dnn.PersonaBar.Seo.Services,Dnn.PersonaBar.Servers.Services,Dnn.PersonaBar.SiteImportExport.Services,DNN。 PersonaBar.Sites.Services,Dnn.PersonaBar.SiteSettings.Services,Dnn.PersonaBar.SqlConsole.Services,Dnn.Perso naBar.TaskScheduler.Services,Dnn.PersonaBar.Themes.Services,Dnn.PersonaBar.UI.Services,Dnn.PersonaBar.Users.Services,Dnn.PersonaBar.Vocabularies.Services。DNN假面酒吧模块路由
问题是如何将我的名字空间添加到这个列表中 注册自定义api控制器派生自DnnApiController?
对于SPA模块它与ServiceRouteMapper简单,它是更多钞票DNN的角色吧模块?
对于PersonaBar扩展,您的WebAPI服务控制器应PersonaBarApiController继承。
[MenuPermission(MenuName = "Dnn.Users")]
public class UsersController : PersonaBarApiController
{
[HttpPost]
public HttpResponseMessage CreateUser(CreateUserContract contract)
{
...
}
}
你DNN清单应该是这个样子安装的PersonaBar菜单扩展:
<package name="Dnn.PersonaBar.Users" type="PersonaBar" version="01.06.00">
...
<component type="PersonaBarMenu">
<menu>
<identifier>Dnn.Users</identifier>
<moduleName>Users</moduleName>
<controller>Dnn.PersonaBar.Users.Components.UsersMenuController, Dnn.PersonaBar.Users</controller>
<resourceKey>nav_Users</resourceKey>
<path>Users</path>
<parent>Manage</parent>
<order>10</order>
<defaultPermissions>Administrators</defaultPermissions>
</menu>
</component>
...
</package>
这导致在终点的路径:/ API/PersonaBar /用户/ CREATEUSER
完整的示例源代码here
我得出我的API控制器从PersonaBarApiController如你所说,并得到了同样的错误。 看来,这是不够的,只是从PersonaBarApiController继承,我应该 有.dnn清单封装类型=“模块”?或type =“PersonaBar”应该够了? –
我修改了更详细的答案。 – DotNetNuclear