Web API 基础框架搭建

API

API之主要目的是提供应用程序与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。提供API所定义的功能的软件称作此API的实现。API是一种接口,故而是一种抽象。

应用程序接口 (英语Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。

Web API 基础框架搭建

搭建一个WebAPI项目的方式一共有两种:

一、通过vs直接搭建直接新建一个WebApi的项目,步骤如下:

第一步:

新建一个空的Web应用程序,可以理解为作为WebApi的宿主

点击确定

第二步:

点击确定,创建成功!

这样就完成了一个WebApi项目的创建,vs会帮助我们导入相关的程序集和包,简称傻瓜式安装,哈哈!

二、从0开始安装

第一步:

点击确定!

第二步:

点击确定,完成一个空的Web应用程序搭建

然后手动添加相关WebApi的引用!

 

第三步:添加相关程序集和包

 

添加WebApi的相关依赖有两种方式:

 

(1) 最简单最直接的,通过"管理NuGet程序包"添加WebApi的相关依赖

 

点击安装,我这里已经安装了,所以没有安装选项.

 

打开项目下面的packages.config文件,如下所示

 

 

ok,说明WebApi安装成功

 

(2) 通过程序包管理器控制台来添加WebApi的相关依赖

 

 

ok,添加成功,打开项目下面的packages.config文件,如下所示

 

ok,同样的安装成功

 

三、第一种傻瓜式方式和第二种从0开始搭建WebApi项目基架的区别

通过观察两者的packages.config文件发现,其实两者的还是有区别的,如下图:

 

 

傻瓜式的搭建WebApi项目多了上面红框内的几个包,一类是对应的汉化包(zh-Hans),另一类是帮助页,当然你也可以不需要,这些额外的包,是微软为了帮助我们提升开发效率用的,当然如果你需要的话,可以自行通过NuGet包管理器进行添加.

ok,至此,简单的WebApi项目基架搭建完成,所有的依赖包如下图:

 

框架适用于中小项目使用。 框架包含: Swagger,JWT权限验证 ,Sqlsugar+异步泛型仓储,Redis做数据缓存,AutoFac,AOP的切面redis缓存等 仓储层: repository就是一个管理数据持久层的, 它负责数据的CRUD(Create, Read, Update, Delete) service layer是业务逻辑层, 它常常需要访问repository层。有网友这么说:Repository(仓储):协调领域和数据映射层,利用类似与集合的接口来访问领域对象。Repository 是一个独立的层,介于领域层与数据映射层(数据访问层)之间。 它的存在让领域层感觉不到数据访问层的存在,它提供一个类似集合的接口提供给领域层进行领域对象的访问Repository 是仓库管理员,领域层需要什么东西只需告诉仓库管理员,由仓库管理员把东西拿给它,并不需要知道东西实际放在哪。 业务逻辑层: 就是和我们平时使用的三层架构中的BLL层很相似。 Service层只负责将Repository仓储层的数据进行调用,至于如何是与数据库交互的, 它不去管,这样就可以达到一定程度上的解耦,假如以后数据库要换, 比如MySql,那Service层就完全不需要修改即可。 实体Model数据层: Enity文件夹中,存放的是整个项目的数据库表实体类。 VeiwModels文件夹,是存放的DTO实体类,在开发中,一般接口需要接收数据,返回数据,如果直接使用实体类返回的话弊端很大,不仅把重要信息暴露出去(比如手机号等),还对数据造成冗余(比如我需要接收用户的生日,还需要具体的年、月、日这就是三个字段,当然您也可以手动拆开,这只是一个栗子,所以不能直接用数据库实体类接收),就用到了DTO类的转换。
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值