1、什么是Restful

1.1 定义

表征状态转移,一种新的通讯架构。一般用于HTTP

https://www.runoob.com/w3cnote/restful-architecture.html

1.2 .net下的Restful API

.net下的Restful API采用WebAPI框架,WebAPISignalR都是事先服务的框架,但是SignalR面向实时性服务。而WebAPI用于构建常规的Restful API

支持基于Http verb (GET, POST, PUT, DELETE)CRUD (create, retrieve, update, delete)操作通过不同的http动作表达不同的含义,这样就不需要暴露多个API来支持这些基本操作。

请求的回复通过Http Status Code表达不同含义,客户端可以通过Accept header来与服务器协商格式,例如服务器返回JSON格式还是XML格式请求的回复格式支持 JSONXML,并且可以扩展添加其他格式。

原生支持OData:开放数据协议(Open Data Protocol,缩写OData)是一种描述如何创建和访问Restful服务的OASIS标准。

支持Self-host或者IIS host支持大多数MVC功能,例如Routing/Controller/Action Result/Filter/Model Builder/IOC Container/Dependency Injection

1.3 什么时候需要WebAPI

以下情况需要使用WebAPI

Web Service但不需要SOAP

在已有的Windows Communication Foundation框架上建立non-soap-based http服务

只想发布一些简单的Http服务,不想使用相对复杂的WCF配置

发布的服务可能会被带宽受限的设备访问

不需要复杂的MVC框架,Web API MVC的区别如下:

MVC主要用来构建网站,既关心数据也关心页面展示,而Web API只关注数据

Web API支持格式协商,客户端可以通过Accept header通知服务器期望的格式

Web API支持Self HostMVC目前不支持

Web API通过不同的http verb表达不同的动作(CRUD)MVC则通过Action名字表达动作

Web API内建于ASP.NET System.Web.Http命名空间下,MVC位于System.Web.Mvc命名空间下,因此model binding/filter/routing等功能有所不同

1.4 WebAPI实现的Restful API路由机制

参考:https://www.cnblogs.com/landeanfen/p/5501490.html

2、SoapUI工具模拟Restful API服务器端

2.1下载

官网下载链接:

https://www.soapui.org/downloads/thank-you-for-downloading-soapui.html

会自动下载,否则重新输入:

https://s3.amazonaws.com/downloads.eviware/soapuios/5.5.0/SoapUI-x32-5.5.0.exe

 

2.2安装

直接按提示安装即可,运行界面:

image.png


2.3创建Rest project

点击左侧“Projects”,如下:

image.png


运行New Rest Project,如下:


image.png


录入:http://localhost:8080/api/test之后,点OK,出来如下界面:

image.png


增加一个Get参数id,如下:

image.png


到此完成了test的接口定义。

2.3创建Mock服务

右键点击左侧的http://localhost:8080,弹出如下窗口:

image.png


执行Generate REST Mock service”,则显示:

image.png


修改名字为Mock服务,点OK,则显示:

image.png


注意运行端口已经被改为8089.

 

到此,成功建立模拟Restful服务器。

 

3、RESTClient工具模拟Restful API前端

3.1下载

官网链接:https://www.wiztools.org/index.html

编译后的下载链接:https://github.com/wiztools/rest-client/releases

下载文件:restclient-ui-3.7.1.zip

3.2安装

解压到目录:D:\restclient-ui-3.7.1

双击bin\restclient-ui.bat执行:

 

image.png


3.3创建

输入刚才在SoapUI中创建的Mock服务地址和参数,如下

image.png


点击右侧的按钮执行:

image.png


404错误,查找原因:

查看SoapUI中有两个Mock服务启动:

image.png


停止一个,后再试:

image.png


返回为空。

 

查看SoapUIMock服务的response 1

image.png


是空的,增加一段json数据:

image.png


重新启动Mock服务。

 

然后返回RESTClient

image.png


大功告成!!!