ASP.NETCore WebAPI 入门 杨中科

ASP.NETCore WebAPI入门1

回顾 mvc开发模式

前端代码和后端代码是混在一个项目之中

WEB API

1、什么是结构化的Http接口。Json。

2、Web API项目的搭建。

3、Web API项目没有Views文件夹。

4、运行项目,解读代码结构。

5、【启用OpenAPI支持】→>swagger,在界面上进行接口的测试。

web api 项目搭建

选择 web api

默认一定要勾选上 启用OpenAPI支持

设置默认浏览器

运行项目

swagger

swagger
是我们勾选上OpenAPI 所提供的

webapi 只对外提供数据,不提供界面,为了方便调试,所以swagger为我们提供了可视化的调试界面

直接向浏览器发请求,也会得到json格式数据

使用swagger发请求
点击Try it out

点击Execute

以更简单直接的方式获得请求结果

底层原理还是相同的

关键词讲解

ApiController\] :代表这是一个webapi的controller \[Route("controller")\]:路径 代表请求的时候 使用下面的方法名前缀WeatherForecast :controllerBase webapi里面的controller 一般是继承自它 ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/eb267447f76f8fa9410dd80f08027bca.webp) mvc 是继承Controller ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/d80c4c9590405daa243b3841b6da1474.webp) Controller 是继承自ControllerBase -- mvc使用 webapi 是直接继承自ControllerBase -- webapi 使用 \[HttpGet(Name="GetWeatherForecast")\] 向这个路径发送get请求的时候,由这个特性标注的方法来处理请求 ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/5504ab6cbf8f8391db330786ce87032c.webp) #### 自定义修改 在原始路径上添加 haha ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/986e143fe093c864e10bf05c92cf57ee.webp) 此时运行项目:请求路径就发生了变化 ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/e31d8fa62be7df8264366bd0ff93fe1b.webp) 也可以手动输入路径测试 ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/72e6ac1c463cf8223f796fd8b768d22d.webp) ### ASP.NET Core WEB API 2 #### 新建控制器 ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/2afb734b7747feb9d6709bb7f5c2877c.webp) 选择api控制器 ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/15c2cc6808eccb8e8a122f85424174d9.webp) ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/c9d43ae87de77f26c2f4a73734f531c7.webp) 新建person类 ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/3343fa1406d0ae3ace1aaed33e9b3bbf.webp) ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/b2c25c3bc7223f4fc004959e5ff61d97.webp) 新建SaveNoteRequest类 ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/dba4bdf02ab2b4bb349894fde57726cb.webp) 编写TestController控制类 ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/a32f6fee52885dd0227c0ccb61ec584a.webp) ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/80f3bca0685c44d24777c5d8d3871530.webp) 运行结果: ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/1f8075f38e1b75349267367a96373b4c.webp) 测试: 1.发送get 请求 ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/7adab9043b68376dc4d400ee1557da1d.webp) 在swagger中测试get请求 ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/9ac89edf157de6114ad7ac6e90c8b5d3.webp) 在swagger中测试post请求 修改请求体内容: ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/7b2ac9b1bd7d7c551ce43c48773faeee.webp) 返回结果: ![在这里插入图片描述](https://file.jishuzhan.net/article/1744268669598306305/aa4be2392be5ac221fc3deb97c0da4f1.webp) 路径是相同的 但是请求体不同

相关推荐
涡能增压发动积9 小时前
同样的代码循环 10次正常 循环 100次就抛异常?自定义 Comparator 的 bug 让我丢尽颜面
后端
Wenweno0o9 小时前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
swg3213219 小时前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
tyung10 小时前
一个 main.go 搞定协作白板:你画一笔,全世界都看见
后端·go
gelald10 小时前
SpringBoot - 自动配置原理
java·spring boot·后端
殷紫川10 小时前
深入拆解 Java 内存模型:从原子性、可见性到有序性,彻底搞懂 happen-before 规则
java·后端
元宝骑士10 小时前
FIND_IN_SET使用指南:场景、优缺点与MySQL优化策略
后端·mysql
用户319523703477110 小时前
记一次 PostgreSQL WAL 日志撑爆磁盘的排查
后端
nghxni10 小时前
LightESB PlatformHttp v3.0.0:JSONPath 订单转换 HTTP 路由实战
后端
武子康11 小时前
大数据-263 实时数仓-Canal 增量订阅与消费原理:MySQL Binlog 数据同步实践
大数据·hadoop·后端