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

相关推荐
一线大码3 分钟前
项目中怎么确定线程池的大小
java·后端
LNin8 分钟前
Spring AI 自定义数据库持久化的ChatMemory
后端
天天摸鱼的java工程师14 分钟前
从被测试小姐姐追着怼到运维小哥点赞:我在项目管理系统的 MySQL 优化实战
java·后端·mysql
专注VB编程开发20年23 分钟前
asp.net mvc如何简化控制器逻辑
后端·asp.net·mvc
用户6757049885021 小时前
告别数据库瓶颈!用这个技巧让你的程序跑得飞快!
后端
千|寻1 小时前
【画江湖】langchain4j - Java1.8下spring boot集成ollama调用本地大模型之问道系列(第一问)
java·spring boot·后端·langchain
程序员岳焱1 小时前
Java 与 MySQL 性能优化:MySQL 慢 SQL 诊断与分析方法详解
后端·sql·mysql
龚思凯2 小时前
Node.js 模块导入语法变革全解析
后端·node.js
天行健的回响2 小时前
枚举在实际开发中的使用小Tips
后端