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更新一个大对象中的某个字断,这才意识到我以前都没有用 ...
随机推荐
- TP5中用redis缓存
在config.php配置文件下找到缓存设置,将原来的文件缓存修改为redis缓存,也可以改为多种类型的缓存: // +---------------------------------------- ...
- CSP 通信网络(201709-4)
问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息.信息可以通过中转的方式进行传递,即如果a能将信息 ...
- python新手必躺的5大坑
python新手必躺的5大坑 对于Python新手来说,写代码很少考虑代码的效率和简洁性,因此容易造成代码冗长.执行慢,这些都是需要改进的地方.本文是想通过几个案列给新手一点启发,怎样写python代 ...
- 【动态规划】subsequence 1
题目链接:https://ac.nowcoder.com/acm/contest/885/G 题意: 两个串,s t,求s的所有子串中大于 t 的数目 题解: dp[i][j] 表示 s的前i个, ...
- Jmeter之参数化(4种设置方法)
以多用户登录为例~~~ 参数化: 1.用户参数 2.CSV数据文件 3.函数助手CSVRead 4.用户自定义的变量 1.用户参数 脚本目录结构如下: 因为设置了2组账号密码,所以线程数设置为2(添加 ...
- List与Set区别
List: 元素有序放入,元素可重复 Set: 元素无序保存,元素不可重复(通过==判断,非基本类型判断的是引用地址),因为set是无序的,故只能通过迭代器循环.ps:说是无序,但是其实set中的元素 ...
- -bash: fork: retry: 没有子进程
今天遇到一个问题 -bash: fork: retry: 没有子进程 解决方法 设置各linux 用户的最大进程数,下面我把某linux用户的最大进程数设为10000个: ulimit -u 10 ...
- java语言中使用三元式的时候应该注意的问题
今天在项目中改领导要求的代码表现的时候发现了一个很有趣的问题. 但是的代码情况类似如下: 1 2 Integer test1 = null; System.out.println("test ...
- [转载]aspnet webapi 跨域请求 405错误
写了个webapi给同事用ajax调用,配置完跨域以后get请求完全没问题,post就一直报405错误,花了半天时间就是解决不了,后来在网上看到一博主的帖子才知道原来是webapi 默认的web.co ...
- Linux Too many open files
Linux Too many open files 查看系统资源限制信息: sudo -s -u root -H id sudo -s lsof | awk '{ print $2 " &q ...