用ASP.NET Web API技术开发HTTP接口(一)
《转载自 "浮点指向"》
启动Visual Studio 2015,新建一个ASP.NET Web应用程序,命名为SimpleAPI。选择Empty模板,并勾选“Web API”,无身份验证,不添加单元测试。
准备用SQL Server数据库来存储数据,因此要安装下Entity Framework框架,免去写繁琐SQL语句的麻烦。打开工具-》程序包管理器控制台输入以下命令安装。
Install-Package EntityFramework
在Web.config文件里配置数据库连接代码,打开这个文件,在configuration节点内添加连接字符串,其中星号部分换成SQLServer的数据库名称。
<connectionStrings> <add name="DefaultConnection" connectionString="Data Source=Localhost;Initial Catalog=******;Integrated Security=SSPI;" providerName="System.Data.SqlClient" /> </connectionStrings>
建立数据模型
在Models目录下新建一个名为Friend.cs的类文件。
public class Friend {public int ID { get; set; }public string FirstName { get; set; }public string LastName { get; set; }public string Address { get; set; }public string City { get; set; }public string PostalCode { get; set; }public string Country { get; set; }public string Notes { get; set; } }
同时建立数据库的Context类文件。
public class FriendContext : DbContext {public FriendContext(): base("name=DefaultConnection"){}public DbSet<Friend> Friends { get; set; }protected override void OnModelCreating(DbModelBuilder modelBuilder){modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();} }
说明:
1、name=DefaultConnection要和Web.config中的数据库连接字符串中的name一致。
2、OnModelCreating重载函数的作用是让创建的数据表名称为单数格式,即为Friend,而不是Friends。
然后在程序包管理控制台启用Migrations,生成Migrations目录,以及目录中的Configuration.cs配置文件。
Enable-Migrations
再依次执行下面2条命令,就可以把刚才建立的数据模型导入到SQLServer中了,很方便。
Add-Migration xxx Update-Database
其中xxx可任意填写,VS会生成一个名为201508051223177_xxx.cs文件,201508051223177是当前时间,文件包含Up和Down两个方法。现在我们再到SQLServer中刷新下查看,会发现一个名为Friend的数据表就建立好了。
下面利用Configuration.cs中的Seed函数添加一些测试数据,在Seed方法下添加以下模拟数据。
var friend = new Friend {FirstName = "三",LastName = "张",Address = "南京西路",City = "上海",Country = "中国",PostalCode = "200041",Notes = "www.zhaomu.com" }; context.Friends.Add(friend); friend = new Friend {FirstName = "四",LastName = "李",Address = "三里屯",City = "北京",Country = "中国",PostalCode = "100600",Notes = "www.sohu.com" }; context.Friends.Add(friend); friend = new Friend {FirstName = "五",LastName = "王",Address = "花城大道",City = "广州",Country = "中国",PostalCode = "510623",Notes = "www.163.com" }; context.Friends.Add(friend);
然后执行Update-Database
命令后,这些数据就成功导入到SQL Server的数据表里面了。
创建控制器
在Controllers目录下添加控制器,选择“Web API 2 控制器 - 空”,我们将手工编写API程序的读取、添加、修改、删除各常用接口。控制器文件命名为FriendController.cs。
读取Get方法,在FriendController.cs中添加以下代码。
private FriendContext db = new FriendContext();public IEnumerable<Friend> Get() {return db.Friends.AsEnumerable(); }
编译后,我们访问 http://localhost:61570/api/friend(61570是随机端口),如果一切正常的话会出现以下XML格式的数据,说明数据读取成功。
转换成json格式显示
现在比较流行json格式的API接口数据,如果我们要让数据以json格式显示,需要修改App_Start目录下的WebApiConfig.cs文件,在//Web API 配置和服务的注释下添加以下代码:
config.Formatters.Remove(config.Formatters.XmlFormatter); var jsonFormatter = config.Formatters.JsonFormatter; jsonFormatter.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented; jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
说明:第一行是去掉默认的XML格式,这样输出数据就会以json格式显示,第三行是将输出结果缩进显示,第四行则是将字段名称改成camelCase格式,即postalCode这样的json统一格式。然后我们再次运行,发现结果就是我们想要的了。
转载于:https://www.cnblogs.com/DaiKeung/p/9120362.html
用ASP.NET Web API技术开发HTTP接口(一)相关推荐
- ASP.NET WEB API微信支付通知接口,返回xml数据,微信服务器不识别问题
最近开发微信小程序中用到了微信支付功能,接口开发用的ASP.NET WEB API: 在支付成功后,接口接受到微信服务器的支付通知结果,处理完数据,接口返回给微信服务数据时出现了问题. 微信服务器识别 ...
- ASP.NET Web API 应用教程(一) ——数据流使用
相信已经有很多文章来介绍ASP.Net Web API 技术,本系列文章主要介绍如何使用数据流,HTTPS,以及可扩展的Web API 方面的技术,系列文章主要有三篇内容. 主要内容如下: I 数据 ...
- ASP NET Web API 2框架揭秘
ASP.NET Web API2框架揭秘(.NET领域再现力作顶级专家精讲微软全新轻量级通信平台) 蒋金楠 著 ISBN 978-7-121-23536-8 2014年7月出版 定价:108.00 ...
- Asp.net Web Api开发 性能:使用Jil提升Json序列化性能
from:http://blog.csdn.net/sqqyq/article/details/51692342 看了几篇网上关于各种序列化工具的性能对比,在这里再粘贴下: 我们使用了ASP.NET ...
- Asp.net Web Api开发(第二篇)性能:使用Jil提升Json序列化性能
看了几篇网上关于各种序列化工具的性能对比,在这里再粘贴下: 我们使用了ASP.NET WEB API来提供RESTfull风格的接口给APP调用,默认序列化库用的是:Newtonsoft.Json 为 ...
- WCF 和 ASP.NET Web API
地址:https://docs.microsoft.com/zh-cn/dotnet/framework/wcf/wcf-and-aspnet-web-api WCF 是 Microsoft 为生成面 ...
- ASP.net Web API综合示例
目录 概述 功能介绍 程序结构 服务器端介绍 客户端介绍 "契约" Web API设计规则 并行写入冲突与时间戳 身份验证详解 Web API验证规则 客户端MVVM简介 Web. ...
- ASP.NET Core:从ASP.NET Web API迁移的多层数据服务应用程序
目录 介绍 设置和运行示例应用程序 类库项目 依赖注入 访问应用程序设置 实体框架核心相关更改 主键标识插入问题 数据上下文和连接字符串 自定义存储库(Repositories) LINQ表达式翻新( ...
- 生成用于ASP.NET Web API的C#客户端API
目录 介绍 主要特征 主要好处 背景 推定(Presumptions) 使用代码 步骤0:将NuGet软件包WebApiClientGen安装到Web MVC/API项目 步骤1:建立.NET Cli ...
最新文章
- flash写保护原理_一种基于flash写保护的防止flash被意外篡改的方法与流程
- 编程珠玑第五章习题五——C++实现二分搜索时进行错误检测
- nacos linux启动_微服务系列之Nacos配置中心之一:Nacos介绍与安装
- 这8个中国天文台你肯定不认识!
- Shiro——RememberMe
- python的*args与**kwargs
- JavaScript 中 call()、apply()、bind() 的用法
- ArcGIS创建拓扑
- Operator学习笔记
- 三年半 Java 后端鹅厂面试经历
- tilemap 导入unity_Unity3D中Isometric Tilemap功能实践
- 杂谈:电商平台中的图片资源优化实战
- 麓言科技CAD制图技巧
- ffmpeg推送rtsp流或者视频文件到rtsp服务器
- IE浏览器快速切换各个版本
- cuda实现卷积运算
- navigation_plugin
- Element UI 官网
- 【OpenHarmony】napi基本用法----HelloWorld
- Web开发者成长路线总结