私人工具集6——使用C# 创建一个简单的restful风格的WebAPI

什么是WebAPI

Web API,也称为Web服务,是一种通过网络公开的应用程序接口。它可以在不同的平台和编程语言之间实现交互和数据传输,使得不同应用程序之间的通信变得更加方便和可靠。Web API通常使用REST(Representational State Transfer)架构,它基于HTTP协议,使用标准的HTTP请求和响应方法(例如GET,POST,PUT,DELETE等)进行通信,返回的数据格式通常是XML或JSON等。Web API可以用于各种用途,包括应用程序集成,数据共享,以及云计算等。

WebAPI 常见的两种架构

SOAP

SOAP(Simple Object Access Protocol)是一种基于XML语言的协议,用于在计算机网络上进行 Web服务的交互。它通常使用HTTP协议作为传输协议,但也可以使用其他协议。相比于REST,SOAP更加复杂,需要使用额外的工具来创建和解析消息。同时,SOAP还支持各种安全性和事务处理的功能。SOAP在一些企业级应用中广泛使用,特别是在基于Java和.NET的系统中。

REST

REST(Representational State Transfer)是一种基于Web的软件架构风格,是一种轻量级的、面向资源的架构。REST架构通过HTTP协议,使客户端可以通过URI定位到服务器资源,并且利用HTTP方法(GET、POST、PUT、DELETE等)对这些资源进行操作。

REST架构的核心概念包括:资源(Resource)、URI、HTTP方法、状态转移(State Transfer)以及无状态性(Stateless)。其中,资源是REST架构的核心,客户端通过URI定位到服务器资源,然后通过HTTP方法对资源进行操作。状态转移指的是客户端与服务器之间的一系列请求和响应,每个请求和响应都会改变资源的状态。而无状态性则表示每个请求之间是相互独立的,每个请求都包含了足够的信息来进行处理,服务器不需要保存客户端的状态信息。

REST架构的优点包括简洁性、可扩展性、可靠性和可见性。REST架构的简洁性使得它易于理解和使用,而可扩展性使得它适合于各种规模的应用系统。此外,REST架构使用HTTP协议,具有可靠性和可见性,可以更好地控制数据的传输和处理。

本系列接下来介绍此结构。

Soap vs Rest

REST(Representational State Transfer)架构和SOAP(Simple Object Access Protocol)架构是两种常用的网络应用程序通信协议。它们的主要区别如下:

  • 架构风格
    REST是一种基于资源和HTTP协议的软件架构风格,强调资源的状态转移。SOAP是一种基于XML和HTTP的通信协议,强调在网络上进行操作和调用远程服务。

  • 消息格式
    REST中的消息格式可以是XML、JSON、HTML、文本等多种形式,而SOAP只支持XML格式。

  • 接口类型
    REST中的接口一般以HTTP方法为基础,如GET、POST、PUT、DELETE等,而SOAP接口则使用一种特殊的XML格式,一般使用POST方法进行调用。

  • 可扩展性
    REST相对较为灵活,可以通过URL参数、HTTP头部等多种方式扩展接口的功能,而SOAP需要在WSDL中定义接口的操作和消息格式。

  • 性能
    由于SOAP使用XML格式进行消息交换,处理起来相对较为复杂,性能较REST略逊一筹。

REST架构风格更为简单、灵活和易于实现,适合于互联网应用的开发。而SOAP则更加规范和严谨,适合于企业级应用系统的开发。

创建一个简单的WebApi

工具:VS2022

创建新项目

  1. 打开VS2022,创建新项目,可以搜索API作为关键字。
    在这里插入图片描述
  2. 为项目取个名字
    在这里插入图片描述
  3. 创建的应用程序,选择WebAPI,注意,右侧的信息默认即可,不要随意选择。
    在这里插入图片描述
  4. 点击创建,可以看到任务创建成功:
    在这里插入图片描述
  5. 点击运行,直接进入运行界面,查看主页:
    在这里插入图片描述
    在这里插入图片描述
  6. 至此,项目创建完毕。

一个简单的测试案例

一般的MVC架构中,C主要进行业务处理。因此我们创建一个控制器。

  1. 创建控制器
    在这里插入图片描述
  2. 选择webapi,然后创建一个空的控制器,命名为test
  3. 在这里插入图片描述

在这里插入图片描述
4. 在创建的界面,输入以下代码:

 [HttpGet]
        public string test()
        {
            return "test";
        }

在这里插入图片描述
5. 接下来运行项目,找到我们的API:
在这里插入图片描述
6. 点击链接可以看到此接口自动生成的帮助文档。
在这里插入图片描述
7. 输入以下地址,可以看到实际输出的接口值
在这里插入图片描述

自此,一个简单接口便已经完成。但离发布与应用还有很长的路要走。接下来,我们会将前期的工具集导入此项目。将此项目建立一个API模板。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值