1、什么是WebApi,它有什么用途?
Web API是一个比较宽泛的概念。这里我们提到Web API特指ASP.NET MVC Web API。在新出的MVC中,增加了WebAPI,用于提供REST风格的WebService,新生成的WebAPI项目和典型的MVC项目一样,包含主要的Models、Views、Controllers等文件夹和Global.asax文件。Views对于WebAPI来说没有太大的用途,Models中的Model主要用于保存Service和Client交互的对象,这些对象默认情况下会被转换为Json格式的数据迚行传输,Controllers中的Controller对应于WebService来说是一个Resource,用于提供服务。和普通的MVC一样,Global.asax用于配置路由规则,个人的理解MVC控制器中一般方法返回的是一个视图而Api返回的是数据,可以是List、Json等格式。对于WebAPI来说它最初被设计为和WCF一样的客户端口、服务端口两套结构我们到现在还没有提到客户端口是因为我们的请求别的方式来封装成HTTP请求接收收HTTP相应的比如AJAX和Form表单提交。接下来我们用VS2017新建一个webApi项目。
2、打开VS2017 点文件-----> 新建---->项目。快捷键(Ctrl+Shift+N)
Web里面的Asp.Net Web 应用程序
上面一定要选Web API 。项目建好了 我先做一个从数据库取出数据在调用的栗子。
3、在控制器文件夹右键---->添加---->控制器。选择Web API2 Controller Empty点确定取名Customer 因为后面要操作数据库这张表 ,点add完成
这时候App_Satrt文件夹下面多了一个文件WebApiConfig.cs,这个文件是它的路由
由于以前都是用原生的sql访问数据库 所以现在也说一下 原生的sql 在asp.net MVC中的使用不用EF连接 后面也使用EF
4、在Models文件夹下面建立模型类Customer类与SqlDB类,这里没有分三层架构就简单的写在一起了理解就行(SqlDB类这里有《Asp.Net中对操作Sql Server 简单处理的SqlDB类》)
public class Customer
{
//ID
public int ID { get; set; }
//姓名
public string Name { get; set; }
//学号
public string Number { get; set; }
//性别1男2女
public int Sex { get; set; }
//院系
public string Department { get; set; }
//专业
public string Manjor { get; set; }
//年级
public int Class { get; set; }
//联系方式
public string Mobile { get; set; }
}
在项目的web.config配置文件里面一定要加数据库连接字符串配置
<connectionStrings> <!--连接字符串--> <add name="SqlConn" connectionString=" Data Source=.;Initial Catalog=OneCardSystem;Integrated Security=True" /> </connectionStrings>
5、在API控制器里面写个方法返回List类型的数据
这个API控制器一定是继承ApiController这个控制器的
public class CustomerController : ApiController
{
Customer customer = new Customer();
public List<Custom