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

相关推荐
ChinaRainbowSea18 分钟前
7. LangChain4j + 记忆缓存详细说明
java·数据库·redis·后端·缓存·langchain·ai编程
舒一笑19 分钟前
同步框架与底层消费机制解决方案梳理
后端·程序员
minh_coo20 分钟前
Spring框架事件驱动架构核心注解之@EventListener
java·后端·spring·架构·intellij-idea
白初&2 小时前
SpringBoot后端基础案例
java·spring boot·后端
计算机学姐4 小时前
基于Python的旅游数据分析可视化系统【2026最新】
vue.js·后端·python·数据分析·django·flask·旅游
该用户已不存在5 小时前
你没有听说过的7个Windows开发必备工具
前端·windows·后端
David爱编程5 小时前
深入 Java synchronized 底层:字节码解析与 MonitorEnter 原理全揭秘
java·后端
KimLiu5 小时前
LCODER之Python:使用Django搭建服务端
后端·python·django
再学一点就睡5 小时前
双 Token 认证机制:从原理到实践的完整实现
前端·javascript·后端
yunxi_055 小时前
终于搞懂布隆了
后端