我是靠谱客的博主 凶狠电话,最近开发中收集的这篇文章主要介绍.NET Core Web API理解1.什么是WEB API什么时候该使用它2.控制器方法使用3.请求模型4.配置路由,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.什么是WEB API什么时候该使用它

WEB API 与 MVC的异同

  WEB API和MVC一样具有同样的设计模式,路由概念,绑定模型,验证等。他和传统的WEB应用程序不同的是MVC的视图部分。它返回JSON或者XML数据,而不是返回HTML,客户端应用程序使用这些数据控制他们的行为或者更新UI。

  传统的WEB应用程序用户在浏览浏览器时,服务器通过HTML返回用户的请求。一般使用MVC的中间件Razor模板生成HTML。但是现代应用程序的开发人员也有许多其它的可能性来考虑。

WEB API 使用于哪些实际场景

  SPAs(Client-side single-page applications)客户端单页应用程序在这几年变得非常流行。比如Angular,React, Ember,这些框架使用在用户的WEB浏览器中运行的 javascript 来生成他们看到的 html,并与之互动。当用户第一次使用应用程序时,服务器发送初始化的JavaScript代码给浏览器。在从服务器加载任何应用程序数据之前,用户的浏览器加载 javascript 并初始化SPA。
  加载SPA 后, 与服务器的通信仍通过 http 进行, 但服务器端应用程序不会直接向浏览器发送 html 以响应请求, 而是将数据 (通常采用 json 或 xml 等格式) 发送到客户端应用程序。然后SPA分析数据并生成适当的 html向用户显示。
  服务器端应用程序存在终结点,客户端与终节点通信时称为 WEB API。

不同客户端请求服务的方式

  

WEB API 的优势

  现代开发者需要考虑许多不同的应用程序的消费者。比如出传统的浏览器应用程序,或者SPA,移动应用程序或者其他应用程序。WEB API 公开了许多可用于访问的URL或更改服务器上的数据。它通常使用 HTTP 进行访问。
  使用 WEB API的最大的优势之一是, 它可以作为一个通用的为您的所有应用程序提供后端。例如, 可以首先构建使用 WEB API 的客户端应用程序。稍后, 您可以添加使用相同的 WEB API, 几乎不需要或根本不需要对ASP .NET Core核心代码进行修改。
  最后不管是使用.NET Core MVC还是.NET Core WEB API构建WEB的应用程序,这些最终取决于你的个人喜好。

2.控制器方法使用

返回原始的.NET对象

代码片段如下,返回了.NET的string类型集合:

 [Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
// GET api/values

[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}

返回结果如下图:

返回IActionResult作为一个StatusCodeResult

代码片段如下:

 [HttpGet("{id}")]
public ActionResult<string> Get(int id)
{
if (id > 0)
{
return Ok(id);
}
return NotFound();
}

返回结果如下图:

成功结果截图:

失败结果截图:

3.请求模型

 请求模型流程

4.配置路由

设置默认启动控制器

在ASP.NET Core WEB API项目中的launchSettings.json文件中设置,结果如下图所示:

指定控制器的访问方式

代码片段如下:

 [Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
[Route("GetAllValues")]
[Route("GetTodayValues")]
[Route("GetNowValues")]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}

以下访问地址都可以访问到Get方法:

https://localhost:5001/api/values/GetAllValues
https://localhost:5001/api/values/ GetTodayValues
https://localhost:5001/api/values/ GetNowValues

 

如下代码,方法的默认值就是20:

 [Route("GetNew/{speed=20}")]
public string GetCurrentValue(int speed)
{
return speed.ToString();
}

Web API中处理Get和Post请求

Get:获取请求列表,Post:创建一个新的请求。使用HttpGet和HttpPost特性,代码片段如下:

 [Route("api/[controller]")]
[ApiController]
public class AppointmentController : ControllerBase
{
public IEnumerable<string> Index()
{
return new string[] { "value1Test", "value2Test" };
}
[HttpGet("ListApp")]
public IActionResult ListAppointments()
{
return Ok("Get请求");
}
[HttpPost("GetApp")]
public IActionResult CreateAppointment()
{
return Ok("Post请求");
}
}

 

转载于:https://www.cnblogs.com/fengye310/p/10925441.html

最后

以上就是凶狠电话为你收集整理的.NET Core Web API理解1.什么是WEB API什么时候该使用它2.控制器方法使用3.请求模型4.配置路由的全部内容,希望文章能够帮你解决.NET Core Web API理解1.什么是WEB API什么时候该使用它2.控制器方法使用3.请求模型4.配置路由所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部