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

相关推荐
SimonKing5 小时前
你的IDEA还缺什么?我离不开的这两款效率插件推荐
java·后端·程序员
武子康6 小时前
大数据-165 Apache Kylin Cube7 实战:聚合组/RowKey/编码与体积精度对比
大数据·后端·apache kylin
qinyia6 小时前
WisdomSSH解决因未使用Docker资源导致的磁盘空间不足问题
运维·服务器·人工智能·后端·docker·ssh·github
庄宿正6 小时前
【Vue2+SpringBoot+SM2】Vue2 + Spring Boot 实现 SM2 双向非对称加密完整实战
java·spring boot·后端
A***F1576 小时前
使用 Spring Boot 实现图片上传
spring boot·后端·状态模式
William_cl6 小时前
【ASP.NET Core】Controller 层 Action 返回值精讲:JsonResult(AJAX 交互核心)
ajax·asp.net·交互
间彧6 小时前
分享一些ServBay和Docker混合使用的最佳实践?
后端
间彧6 小时前
一个典型的SpringBoot Web项目在ServBay和Docker中分别的完整开发部署流程
后端
间彧6 小时前
ServBay如何与IDE(如IntelliJ IDEA)深度集成,实现一键调试和热部署?
后端