首页 > 解决方案 > HTTP REST 和执行各种操作 - 基于 Web 的 Active Directory 应用程序

问题描述

我正在为常见的 Active Directory 任务(例如详细信息、创建、修改、禁用)构建 Web 前端。我有标准的已经在工作了:

现在我的问题是我应该如何(或什么 HTTP 动词)链接其他常见任务,如启用/禁用、重置密码、终止(这将禁用用户、删除所有组、更新描述并移动到删除 OU) . 任何建议或示例都会很棒。我的第一个想法是有一个带有“选项”对象的 POST,它看起来像:

然后在 POST 请求的正文中传递该对象,并在触发 true 时使用处理实际选项的开关。我认为这会奏效,但这会是正确的方法吗?提前感谢您的任何帮助。

标签: c#asp.netresthttpldap

解决方案


如果你想在同一个控制器上对同一个动词使用多个操作,你可以通过在 url 中添加方法名 {action} 来定义路由。

WebApiConfig.cs:

config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{action}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

并调用 URL,如:

/api/operation/GetAdUser/1

推荐阅读