WebAPI入门学习

这一节我们了解下WebAPI。

什么是API?简单来说,就是应用程序编程接口(Application Programming Interface),两个或者多个软件组之间定义的一种通信机制,经常用于数据交互。

在没有使用API的时候,我们的应用程序可以直接操作数据库数据,也是就如下图所示。我们想要获得什么样的数据,由我们使用的Sql语句决定。.

WebAPI入门学习
这样的好处是,我们想获得的数据和格式由我们程序自己决定,更加直接。而坏处是,数据库服务器往往只有少数,而使用应用程序的客户端电脑却是大多数。当我们的数据格式发生改变,需要更新程序的时候,则需要进行批量更新。万一存在未更新的现象,则会出现异常。
另外还有一个数据安全的问题。应用程序过高的数据操作权限,更容易引发难以察觉的问题。
所以我们可以引入API服务器。客户端程序发送信息到API服务器,API服务器运行程序接受指令,从数据库获取响应的数据,再返回给客户端应用程序。并且API可以通过Token限制客户端的访问权限,避免直接操作数据库和访问权限过高的问题。同时,当我们需要修改数据来源或者数据格式的时候,更新API软件就行。
WebAPI入门学习
当然,现在这样的服务器肯定不止一台,因为性能瓶颈和高并发,往往会以集群或分布式架构出现。
API有多种工作方式,如WebSocket,SOAP,RPC等。
我们这里说的是当前比较流行的REST API。关于REST API,你去百度,能查到很多,如果你用ChatGPT,也可以。他们说的都比我全面和准确。
我只演示WebAPI的创建和使用。
使用C#创建一个API,需要使用ASP.NET Core Web API
WebAPI入门学习

点击下一步:

WebAPI入门学习

基本不需要做什么修改操作,点击创建。

WebAPI入门学习

如果稍微了解一些 ASP.NET Core MVC,那么理解ASP.NET Core Web API的项目结构也就没什么问题。

其实到这里,不用写任何代码,就已经是个可以运行的API程序。我们可以选择多种运行方式。

WebAPI入门学习

点击运行,可以看到接口地址,以及默认启动swagger。

WebAPI入门学习

Swagger是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。目标是使客户端和文件系统作为服务器以同样的速度来更新文件的方法,参数和模型紧密集成到服务器。这个解释简单点来讲就是说,swagger是一款可以根据resutful风格生成的生成的接口开发文档,并且支持做测试的一款中间软件。

--百度

启动的设定:

WebAPI入门学习

所谓的Web程序,其实就是一个控制台应用程序

WebAPI入门学习

而控制接口功能的,则是控制器Controller。下图是初始化的范例。一个获取天气的应用接口。

WebAPI入门学习

WebAPI入门学习

新建控制器需要表示为一个API接口。HttpGet表示为一个Get方法(4中方法:GET,POST,DELETE,PUT)

[ApiController][Route("[controller]")]

WebAPI入门学习

WebAPI入门学习

我们可以把这几种都创建出来。
[HttpPost(Name = "GetWeatherForecast")]public void Post()        {
        }[HttpDelete(Name = "GetWeatherForecast")]public void Delete()        {
        }[HttpPut(Name = "GetWeatherForecast")]public void Put()        {
        }

WebAPI入门学习

本节说一下如何创建WebAPI,就到这里。更多内容后面慢慢说来。