在这篇文章中,我们将介绍ASP.NET Core,以及如何使用此框架创建RESTful Web服务并部署该服务。
在本文中,我将逐步解释如何在ASP.NET Core中开发RESTful Web服务应用程序。ASP.NET Core是微软发布的最新技术,远远优于它的前辈,分别是WCF和Web API。
该项目的先决条件:
下载最新版本的Microsoft Visual Studio。他们有免费的执照版本。要测试此应用程序,请从此处下载SOAPUI工具,因为我们将使用SOAPUI工具来测试所有服务。让我们一步一步地开始我们的项目:
步骤1:首先,在Visual Studio中创建一个ASP.NET Core Web Application项目,并将其命名为StudentRegistrationDemo3。为此,选择File-> New-> Project-> ASP.NET Core Web Application(参见下面的窗口),然后单击OK。

单击“确定”按钮后,您将看到以下窗口,您需要在其中选择“Web应用程序”,然后取消选中“为HTTPS配置”复选框(否则,它将创建基于SSL的项目,您必须在测试期间在所有URL中使用HTTPS的HTTP实例,然后单击“确定”按钮。

单击“确定”按钮后,将创建以下项目结构:

第2步:现在您需要在项目中添加两个文件夹:一个用于模型,另一个用于控制器。Models文件夹用于资源类,Controllers文件夹用于Controller类; 这是该项目所必需的。只需右键单击您的项目,添加=>新建文件夹并相应地重命名。

最后,您的项目结构应如下所示:

第3步:现在,我们将创建以下资源类来处理我们的GET,POST,PUT和DELETE服务。右键单击项目资源管理器窗口中的Models文件夹,然后选择Add => Class(见下文):

第4步:现在是时候引入控制器类来处理我们的GET,POST,PUT和DELETE Web请求了。我们将在此示例中为GET,POST,PUT和DELETE请求创建单独的控制器,即使它没有必要,但我使用单独的控制器以获得更清晰。即使一个控制器也足以满足上述所有服务,但是,根据良好的设计原则,我们应该有一个单独的控制器,以便于维护和调试应用程序。
让我们先从GET和POST请求开始。单击Controllers文件夹并选择Add => New Item,然后选择'API Controller Class'并创建一个名为的控制器类 StudentRetriveController,如下所示,用于处理GET请求。

步骤5:在Visual Studio菜单栏中,您可以看到绿色箭头按钮。在这里,您可以选择系统中安装的浏览器并单击它。它将启动您的Web服务器并运行您的Web服务应用程序。

现在等待,直到您的浏览器窗口正确加载,如下所示:

现在服务器正在运行,我们将首先进行GET服务调用。
步骤6.我希望您已经将SOAPUI安装到您的系统中; 如果没有,请从此处下载SOAPUI 。现在打开应用程序,从File菜单中选择'New REST Project'(File => New REST Project)并复制并粘贴以下URL并单击OK按钮。请更改端口号63662,因为它可能与您的情况有所不同。
HTTP://localhost:63662 / API / studentretrive
(注意我们使用的URL有控制器名称,studentretrive(StudentRetriveController),作为资源定位器)

创建项目后,只需单击绿色箭头按钮,您就可以看到如下所示的空记录文件夹:

原因很明显,因为我们的学生名单是空的。所以我们必须在这里插入一些记录。要添加记录,我们将使用我们的POST服务。我们现在测试我们的POST服务。
步骤7.只需按照步骤6创建一个新的REST项目并添加以下URL。
HTTP://localhost:63662 / API / studentregistration
但是,在这里,我们需要做一些额外的配置。首先,从方法列表中选择POST,然后在“介质类型”中添加记录以将其插入到应用程序中。现在,单击绿色箭头按钮,您可以看到下面的窗口。
现在,看看 StudentRegistrationController 课程。在这里,我介绍了四种不同类型的POST服务。引入四种不同类型的POST方法的原因是为您提供使用泛型类型作为返回类型的示例。在第一个POST服务的方法,
RegisterStudent,返回类型是用户定义类型, StudentRegistrationReply。假设在插入过程中我们得到一个例外; 我们如何通知调用者异常类型?因为返回类型是 StudentRegistrationReply, 我们必须返回一个类型的对象 StudentRegistrationReply 。因此,我们需要一个普遍的返回类型,以便我们可以返回任何对象类型。但是,我们有解决方案来处理这种情况。现在看看其他方法; 返回类型是通用的,我们使用JSON,因此我们可以调整任何类型的对象。
现在使用URL http:// localhost:63662 / api / studentregistration / InsertStudent来调用POST方法 InsertStudent (InsertStudent 不是case sansitive)。请注意这里说的返回类型是 IActionResult,一个泛型类型。但是返回类型实现逻辑与第一种方法完全相同,它只是用于添加记录。另请注意 [HttpPost("InsertStudent")],这有助于我们设计资源路径。现在,您必须InsertStudent 在资源路径的末尾添加该 方法。通过这种方式,我们可以设计一个不同的资源路径来在控制器中执行不同的方法。

现在我们要测试我们的第三种方法
AddStudent。所有这三种方法都在进行相同的操作,即只是将记录添加到学生列表中。但它们具有不同的返回类型和不同的资源路径。我的意图在这里很清楚。首先,我们可以从方法返回对象的不同方法是什么?第二,我们如何设计不同的资源路径(路线)来调用特定的Web方法?
现在使用URL http:// localhost:63662 / api / studentregistration / student来调用 AddStudent 返回类型为的方法 JsonResult。如果我们返回XML消息,我们不能将它用作返回类型,在这种情况下,我们必须使用它 IActionResult 作为泛型返回类型。

现在重复GET测试并查看结果:

在上面的截图中,我们插入了错误的agem,我们将通过PUT请求测试来纠正它。
到现在为止还挺好。现在我们将通过引入PUT和DELETE服务来完成本项目的最后一部分。
相关资讯
最新热门应用
非小号交易平台官网安卓版
其它软件292.97MB
下载
币交易所地址
其它软件274.98M
下载
iotx交易所app
其它软件14.54 MB
下载
zt交易所安卓最新版
其它软件273.2 MB
下载
币拓交易所bittok
其它软件288.1 MB
下载
u币交易所平台app
其它软件292.97MB
下载
热币全球交易所app官网版
其它软件287.27 MB
下载
多比交易平台app
其它软件28.28MB
下载
币赢交易所app官网安卓版
其它软件14.78MB
下载
toncoin币交易所安卓版
其它软件48MB
下载