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) 路径是相同的 但是请求体不同

相关推荐
追逐时光者39 分钟前
C#/.NET/.NET Core技术前沿周刊 | 第 59 期(2025年10.20-10.26)
后端·.net
盖世英雄酱581362 小时前
java深度调试【第三章内存分析和堆内存设置】
java·后端
007php0072 小时前
京东面试题解析:同步方法、线程池、Spring、Dubbo、消息队列、Redis等
开发语言·后端·百度·面试·职场和发展·架构·1024程序员节
程序定小飞2 小时前
基于springboot的电影评论网站系统设计与实现
java·spring boot·后端
码事漫谈2 小时前
高性能推理引擎的基石:C++与硬件加速的完美融合
后端
码事漫谈2 小时前
C++与边缘AI:在资源荒漠中部署智能的工程艺术
后端
绝无仅有3 小时前
腾讯面试文章解析:MySQL慢查询,存储引擎,事务,结构算法等总结与实战
后端·面试·github
Reggie_L3 小时前
RabbitMQ -- 保障消息可靠性
开发语言·后端·ruby