用ASP.NET Web API技术开发HTTP接口(一)

2024-06-19 03:18

本文主要是介绍用ASP.NET Web API技术开发HTTP接口(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开发工具

Visual Studio 2013

SQL Server 2008 R2

准备工作

启动Visual Studio 2013,新建一个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 IEnumerableGet()
{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 = Formatting.Indented;
jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();

说明:第一行是去掉默认的XML格式,这样输出数据就会以json格式显示,第三行是将输出结果缩进显示,第四行则是将字段名称改成camelCase格式,即postalCode这样的json统一格式。然后我们再次运行,发现结果就是我们想要的了。

在第二部分我们将继续完成用ASP.NET Web API技术对数据进行添加、修改和删除的操作,接着我们会使用一款很好用的接口测试工具Rest Client在浏览器上对刚刚开发好的API接口进行实际运行。

这篇关于用ASP.NET Web API技术开发HTTP接口(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1073854

相关文章

通过高德api查询所有店铺地址信息

通过高德api查询所有店铺地址电话信息 需求:通过高德api查询所有店铺地址信息需求分析具体实现1、申请高德appkey2、下载types city 字典值3、具体代码调用 需求:通过高德api查询所有店铺地址信息 需求分析 查询现有高德api发现现有接口关键字搜索API服务地址: https://developer.amap.com/api/webservice/gui

DDei在线设计器-API-DDeiSheet

DDeiSheet   DDeiSheet是代表一个页签,一个页签含有一个DDeiStage用于显示图形。   DDeiSheet实例包含了一个页签的所有数据,在获取后可以通过它访问其他内容。DDeiFile中的sheets属性记录了当前文件的页签列表。   一个DDeiFile实例至少包含一个DDeiSheet实例。   本篇最后提供的示例可以在DDei文档直接预览 属性 属性名说明数

Windows中,.net framework 3.5安装

安装.net framework,目前已知2种方法,如下: 一、在MSDN下载对应的安装包,安装,这种可能无法安装成功,概率很大,不成功使用第二种方法,基本上没问题。 二、win8/8.1/10 下安装 .net framework 3.5.1: 1. 打开 win8/8.1/10 安装盘(这里指系统安装镜像文件),提取 sources\sxs 文件夹到 X:\sources\sxs (X代

JavaWeb系列二十: jQuery的DOM操作 下

jQuery的DOM操作 CSS-DOM操作多选框案例页面加载完毕触发方法作业布置jQuery获取选中复选框的值jQuery控制checkbox被选中jQuery控制(全选/全不选/反选)jQuery动态添加删除用户 CSS-DOM操作 获取和设置元素的样式属性: css()获取和设置元素透明度: opacity属性获取和设置元素高度, 宽度: height(), widt

API-环境对象

学习目标: 掌握环境对象 学习内容: 环境对象作用 环境对象: 指的是函数内部特殊的变量this,它代表着当前函数运行时所处的环境。 作用: 弄清楚this的指向,可以让我们代码更简洁。 函数的调用方式不同,this指代的对象也不同。【谁调用,this就是谁】是判断this指向的粗略规则。直接调用函数,其实相当于是window.函数,所以this指代window。

vue3项目将所有访问后端springboot的接口统一管理带跨域

vue3项目将所有访问后端springboot的接口统一管理带跨域 一、前言1.安装Axios2.创建Axios实例3.创建API服务文件4.在组件中使用API服务 二、跨域三、总结 一、前言 在Vue 3项目中,统一管理所有访问后端Spring Boot接口的最佳实践是创建一个专门的API服务层。这可以让你的代码更加模块化、可维护和集中管理。你可以使用Axios库作为HTT

JavaWeb系列六: 动态WEB开发核心(Servlet) 上

韩老师学生 官网文档为什么会出现Servlet什么是ServletServlet在JavaWeb项目位置Servlet基本使用Servlet开发方式说明快速入门- 手动开发 servlet浏览器请求Servlet UML分析Servlet生命周期GET和POST请求分发处理通过继承HttpServlet开发ServletIDEA配置ServletServlet注意事项和细节 Servlet注

ASP.Net.WebAPI和工具PostMan

1.WebAPI概述 1.1 WebAPI WebAPI 是一种传统的方式,用于构建和暴露 RESTUI风格的Web服务。它提供了丰富的功能和灵活性,可以处理各种HTTP请求,并支持各种数据格式,如JSON、XML等。 WebAPI使用控制器(Controllers)和动作方法(ActionMethods)的概念、通过路由配置将请求映射到相应的方法上。 开发人员可以使用各种属性和过滤器来处

微服务中RPC的强类型检查与HTTP的弱类型对比

在微服务架构中,服务间的通信是一个至关重要的环节。其中,远程过程调用(RPC)和HTTP是两种最常见的通信方式。虽然它们都能实现服务间的数据交换,但在类型检查方面,RPC的强类型检查和HTTP的弱类型之间有着显著的差异。本文将深入探讨这两种通信方式在类型检查方面的优缺点,以及它们对微服务架构的影响。 一、RPC的强类型检查 RPC的强类型检查是其核心优势之一。在RPC通信中,客户端和服务端都使

SDAutoLayout/UIView+SDAutoLayout.h 的基本使用,记住这4个Api就足够了~

1.1 > leftSpaceToView(self.view, 10) 方法名中带有“SpaceToView”的方法表示到某个参照view的间距,需要传递2个参数:(UIView)参照view 和 (CGFloat)间距数值 1.2 > widthRatioToView(self.view, 1) 方法名中带有“RatioToView”的方法表示view的宽度或者高度等属性相对于参