Web Api(1)
由于在学习Web Api没有了解过MVC,觉得有些吃力。很多基础的东西都会一并记录下来。
Web API 的意思是使用HTTP协议并通过网络调用的API。
API的意思软件外部接口。
在实际的开发中,大多数的Web API并不是RESTful API.
在 Web API 中,模型是表示应用程序中的数据的对象。
控制器是处理 HTTP 请求的对象。
本次使用的是VS2019+ASP.NET CORE 3.0。
1.通过VS2019创建一个ASP.NET CORE 3.0的项目之后,将自带的天气预报的控制器和.CS删除。
2.自己建立一个控制器。起名为UserController.
3.Usercontroller 需要配置Route路由。以及创建一个Get请求的方法HelloWorld并 返回一个Hello World。
ControllerBase 大部分的Web Api都应该继承这个基类。
[ApiController]。这个属性是应用于Controller的,它能够使得Web API开发体验更好.
当使用这个属性之后,启用:
1.将会要求使用属性路由,不能通过Startup的Configure方法统一配置路由模板。
2.自动HTTP 400响应。Action方法传入model含有验证错误,自动触发。
3.推断参数的绑定源。
IActionResult 代表Action方法返回的结果。

4.设置launchsettings.json配置文件,此时启动方式也从IIS变成了WebApi的名称。
launchUrl:格式和之前设置的对应。api/控制器名字/action名字

5.启动项目看结果。我刷新了一次看到Get请求。返回确实是函数中return的结果

6.appsettings.json 和 appsettings.Development.json之间的关系 意味着ASP.NET.Core可以使用多个环境.
在Program.cs中Main方法负责配置和运行整个Web程序。

Main方法调用下面这个方法创建了一个Host并调用其中Run方法。
在Startup中,IConfiguration被注入了,那么可以允许使用配置信息。
Configuration方法意思为用来向容器中注册服务,注册好的服务可以在其他地方进行调用.
Configure方法意思为用来配置中间件管道,即如何响应http请求.每一个请求都会按照代码的顺序穿越所有添加的中间件.(顺序很重要)
本次只是试着使用了一下,还有很多不懂的地方后面将继续学习。
Web Api(1)的更多相关文章
- 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用
由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET M ...
- bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序
也许单页程序(Single Page Application)并不是什么时髦的玩意,像Gmail在很早之前就已经在使用这种模式.通常的说法是它通过避免页面刷新大大提高了网站的响应性,像操作桌面应用程序 ...
- Hello Web API系列教程——Web API与国际化
软件国际化是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化习俗,在创建不同语言版本时,不需要重新设计源程序代码的软件工程方法.这在很多成熟的软件开发平台中非常常见.对于.net开发 ...
- ASP.NET Web API 跨域访问(CORS)
一.客户端用JSONP请求数据 如果你想用JSONP来获得跨域的数据,WebAPI本身是不支持javascript的callback的,它返回的JSON是这样的: {"YourSignatu ...
- Web Api 入门实战 (快速入门+工具使用+不依赖IIS)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...
- Web APi之认证(Authentication)两种实现方式【二】(十三)
前言 上一节我们详细讲解了认证及其基本信息,这一节我们通过两种不同方式来实现认证,并且分析如何合理的利用这两种方式,文中涉及到的基础知识,请参看上一篇文中,就不再叙述废话. 序言 对于所谓的认证说到底 ...
- angular2系列教程(八)In-memory web api、HTTP服务、依赖注入、Observable
大家好,今天我们要讲是angular2的http功能模块,这个功能模块的代码不在angular2里面,需要我们另外引入: index.html <script src="lib/htt ...
- 我这么玩Web Api(二):数据验证,全局数据验证与单元测试
目录 一.模型状态 - ModelState 二.数据注解 - Data Annotations 三.自定义数据注解 四.全局数据验证 五.单元测试 一.模型状态 - ModelState 我理解 ...
- 我这么玩Web Api(一):帮助页面或用户手册(Microsoft and Swashbuckle Help Page)
前言 你需要为客户编写Api调用手册?你需要测试你的Api接口?你需要和前端进行接口对接?那么这篇文章应该可以帮到你.本文将介绍创建Web Api 帮助文档页面的两种方式,Microsoft Help ...
- [译] 在Web API 2 中实现带JSON的Patch请求
原文链接:The Patch Verb in Web API 2 with JSON 我想在.NET4.6 Web API 2 项目中使用Patch更新一个大对象中的某个字断,这才意识到我以前都没有用 ...
随机推荐
- 安装nova
在控制节点上执行 controllerHost='controller' controllerIP='172.31.240.49' MYSQL_PASSWD='m4r!adbOP' RABBIT_PA ...
- 【并行计算-CUDA开发】__syncthreads的理解
__syncthreads()是cuda的内建函数,用于块内线程通信. __syncthreads() is you garden variety thread barrier. Any thread ...
- 【图像处理】H.264有四种画质级别
H.264有四种画质级别,分别是BP.EP.MP.HP,想要说明H.264 HP与H.264 MP的区别就要讲到H.264的技术发展了 H.264 视频编码技术在视频采集.后期制作等网络视频服务领域的 ...
- 【Python】【基础知识】【异常】【Python的异常】报错、警告
Python的异常 异常的层次结构: BaseException [所有异常的基类] +-- SystemExit [解释器请求退出] +-- KeyboardInterrupt [用户中断执行(通常 ...
- Redis(1.11)Redis4.0.11 cluster 分布式集群搭建
概念与了解:Redis(1.7)Redis高可用架构(理论篇) [0]试验环境 结构图如下: (这里试验没有那么多机器,就用3台机器搭建试验) redis1是redis集群的一个节点A,上面运行了两个 ...
- 什么是负载均衡SLB
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务.负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性. 请看视频简介 ...
- 2018-2019 ACM-ICPC Southeastern European Regional Programming Contest (SEERC 2018)
layout: post title: 2018-2019 ACM-ICPC Southeastern European Regional Programming Contest (SEERC 201 ...
- 《深入理解 java 虚拟机》学习 -- 内存分配
<深入理解 java 虚拟机>学习 -- 内存分配 1. Minor GC 和 Full GC 区别 概念: 新生代 GC(Minor GC):指发生在新生代的垃圾收集动作,因为 Java ...
- Java lesson17 homework
package lesson17; /**1. 创建自定义类Triangle包含如下属性: 最小夹角 a(整型.单位度) 最大夹角 b(整型.单位度) 编写构造方法包含两个参数(夹角),并根据参数计算 ...
- BZOJ5017题解SNOI2017炸弹--玄学递推
题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=5017 分析 老师讲课谈到了这道题,课上想出了个连边建图然后乱搞的操作,被老师钦定的递推方 ...