c# - HTTP REST 和执行各种操作 - 基于 Web 的 Active Directory 应用程序
问题描述
我正在为常见的 Active Directory 任务(例如详细信息、创建、修改、禁用)构建 Web 前端。我有标准的已经在工作了:
- CreateAdUser 的 HTTPPost
- GetAdUser 的 HTTPGet
- UpdateAdUser 的 HTTPPatch
现在我的问题是我应该如何(或什么 HTTP 动词)链接其他常见任务,如启用/禁用、重置密码、终止(这将禁用用户、删除所有组、更新描述并移动到删除 OU) . 任何建议或示例都会很棒。我的第一个想法是有一个带有“选项”对象的 POST,它看起来像:
- 禁用 = 假
- 启用 = 假
- 终止 = 假
- 重置密码 = 假
然后在 POST 请求的正文中传递该对象,并在触发 true 时使用处理实际选项的开关。我认为这会奏效,但这会是正确的方法吗?提前感谢您的任何帮助。
解决方案
如果你想在同一个控制器上对同一个动词使用多个操作,你可以通过在 url 中添加方法名 {action} 来定义路由。
WebApiConfig.cs:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
并调用 URL,如:
/api/operation/GetAdUser/1
推荐阅读
- android - 关于在 react native 上将经纬度从地理位置发送到 react-native-firebase 的问题
- android - 无法配对磨损模拟器
- css - CSS - 为什么 CSS 中的规则顺序会影响计算值
- matlab - 实现环境反向散射通信系统
- c# - 是否有与 C# Structs/StructLayout 等效的功能,在 C++ 中具有字段偏移量?
- reactjs - 为什么我的 useState 不适用于我的 gatsby 网站?
- c - 使用标准 C 库将文件读取到内存 - Windows 过早识别 EOF 但适用于 Mac、Linux
- javascript - SyntaxError: Unexpected token ( 在 Azure Function 中引用 npm 包时
- forms - 如何从树枝上的表单(POST)中检索数据而不刷新它们
- spring-boot - Spring Boot dockerizing 应用程序在主机中创建文件