Web API:使用不同配置的实践
本文关键字:配置 API Web | 更新日期: 2023-09-27 17:50:33
也许你可以给我一个关于良好实践的提示:为了学习更多关于Web API的知识,我正在尝试创建一个Web- service,它可以帮助完成一些与TFS的工作。如果客户端可以通过传递kindahow对象来选择他想要使用的TFS,这将是非常酷的,该对象包含所需的数据,因为TFS服务URL等。但这给我带来了一些麻烦:我创建了一个名为tfsconfiguration的类型,以传递这些信息,但这有一些缺点:
- 我不能使用Get-Method,因为我需要通过Body 传递这个对象
- 每个控制器中的每个方法都需要传递这个对象
- 我(认为我)不能使用依赖注入,因为我需要将这个tfs参数传递给控制器后面的层
我猜其他方法都会损害开闭原则,因为控制器确实不知道使用了哪个具体的TFS。
是否有很好的可能性使这些东西工作?如果不是,那么这种情况下的最佳情况是什么?
我不能使用Get-Method,因为我需要通过Body
传递这个对象
ModelBinder可以从URI绑定。
每个控制器中的每个方法都需要传递这个对象
或者让用户在调用时将其存储在会话中,并在其他调用时从会话中读取。
我(认为我)不能使用依赖注入,因为我需要将这个tfs参数传递给控制器后面的层
你为什么要注射这个?
您可以创建一个接受TfsConfiguration对象并返回一个令牌(例如GUID)的POST端点,该令牌通过URL或自定义头传递给GET端点。流可以是:
- POST tfsconfiguration到api/tfstoken,它返回令牌
- 需要令牌的路由的url形式为api/tfstoken/…