aaq*_*o4u 2 c# asp.net rest web-services asp.net-web-api
我将开发我的第一个ASP.NET WEB Api服务应用程序,但我不太确定如何开始.
如果我的数据库中有20个表,我是否必须创建20个Api控制器?
出于测试目的,我一直在为每个表创建一个api控制器.我不知道它是否是最好的方法,但它有效.我将使用工作单元模式和依赖注入(Unity for webapi).有人有任何想法或建议吗?
先感谢您.
您的服务不应反映您存储数据的方式.事实上,许多人会认为这是一种反模式或不良做法.
现在有两种流行的趋势/模式用于设计API服务层(还有很多其他我不会在这里提到的)
这将导致您按业务域/功能或类似的方式对服务进行分组.它也将以任务/行动为导向.所以每个服务都包含系统应该执行的操作和任务.
如果我正在开发一个电子商务系统,我会创建这些服务:
在此体系结构中,您将设计服务,就好像它们提供对资源组的访问(但不是显式的活动,操作,命令等)
HTTP协议用作通信层,因此每个资源都有其URI/N,并执行HTTP操作来控制此资源(用于查询的GET ,用于插入的POST,用于更新的PUT,DELETE等)
使用上面相同的电子商务案例,这就是它在RESTful服务架构中的外观:
有关RESTful API的更详细示例,请参阅SpreeCommerce和Shopify以及它们如何构建其API端点.
这种架构最近越来越受欢迎并得到广泛认可,主要是因为它允许后端支持构建多个客户端应用程序(想想Web和移动),但要注意它将迫使您转移大部分系统开发/向客户端编码(在Web应用程序/站点的情况下为HTML/JS)
我还鼓励您阅读有关SOA以及其他设计和架构模式的更多信息.虽然我不推荐特定的阅读材料.
准确记录您的API.使用直观的工具,如Apiary及其底层技术API Blueprint
为您的API使用自动化测试工具.如果它可以从您的API文档中读取用例并生成基于它们的单元测试(最好是使用API Blueprint技术,无耻插件:用于asp.net的API蓝图主机可以帮助使用它的文档来模拟API)
| 归档时间: |
|
| 查看次数: |
445 次 |
| 最近记录: |