电子商务网站建设具体方案,wordpress 自定义feed,自己做网站赚钱吗,网站建设费属于广告费吗2. Web Api 的创建与Http类型的介绍
2.1 ASP.Net Core Web API项目的创建 1.创建ASP.NET Core Web API项目 从“文件”菜单中选择“新建”“项目”。 在搜索框中输入“Web API”。 选择“ASP.NET Core Web API”模板#xff0c;然后选择“下一步”。 在“配置新项目”对话框中…
2. Web Api 的创建与Http类型的介绍
2.1 ASP.Net Core Web API项目的创建 1.创建ASP.NET Core Web API项目 从“文件”菜单中选择“新建”“项目”。 在搜索框中输入“Web API”。 选择“ASP.NET Core Web API”模板然后选择“下一步”。 在“配置新项目”对话框中将项目命名为“TodoApi”然后选择“下一步”。 在“其他信息”对话框中 确认“框架”为“.NET 6.0 (长期支持)”。 确认已选中“使用控制器(取消选中以使用最小 API)”。 选择“创建”。 ~~~~~~~~~ 1. Web Api 程序包引用 Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术。
EF Core 可用作对象关系映射程序 (O/RM)这可以实现以下两点
使 .NET 开发人员能够使用 .NET 对象处理数据库。 无需再像通常那样编写大部分数据访问代码。 准备工作
1.创建项目打开Visual Studio2022选择ASP.NET Core Web应用空项目基于.Net6 创建2.安装Nuet程序包——项目——依赖项——管理NuGet程序包版本等级尽量一样
Microsoft.EntityFrameworkCore.SqlServer 适用于EF Core SQL Server 提供程序 Microsoft.EntityFrameworkCore.Design适用于EF Core .NET Core CLI 工具 Microsoft.EntityFrameworkCore.Tools适用于 EF Core 的包管理器控制台工具
Microsoft.EntityFrameworkCore.Design 2. 导入项目所需 NuGet 包
2.1 添加 NuGet 包 2.2搜索安装所需的 NuGet 包 Microsoft.EntityFrameworkCore.SqlServer 适用于EF Core SQL Server 提供程序Microsoft.EntityFrameworkCore.Design适用于EF Core .NET Core CLI 工具 Microsoft.EntityFrameworkCore.Tools适用于 EF Core 的包管理器控制台工具
Microsoft.EntityFrameworkCore 此项本次未安装 2. Web Api 的创建与Http类型的介绍
2.1 ASP.Net Core Web API项目的创建
1.通过vs建立一个ASP.Net Core Web API项目;(如果没有在搜索模板中找到它就将模板栏滑动到最后点击蓝色字体安装多个工具和功能)然后选中如图2所示2再安装。
2 .2 API接口的创建 生成项目后解决方案会自动生成 Controllers 文件夹里面存放的就是接口 创建 需要注意得是命名方法一般为 名字后缀 Controller;(不影响接口的名字还是前部分样式) 最大字体为接口名称 创建方式
1.创建 API控制器 点击文件夹右键添加 控制器 选则 通用API Api控制器之后生成如下二代码此时的接口还是不能用的 2.需要声明接口 [ApiController] 和一级接口路径[Route(Test)] 声明接口是必须的声明接口路径最好还是带上--可以起个和接口名一样的路径好用
3.正式定义接口和接口类型 在这里直介绍[HttpGet(getUsers)]和[HttpPost(getUsers)]两种接口类型 格式接口类型方法
注意接口类型中填写的是二级路径自定义效果如上白蓝色图 蓝色GET 是类型Test一级路径 getUser就是二级路径即接口类型中的路径
完整代码
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;namespace WebApplication1.Controllers
{[ApiController] //声明是一个API接口[Route(Test)] //路由api接口的路径public class TestController : Controller{/// summary/// 获取所有人员数据/// /summary/// returns/returns[HttpGet(getUsers)]public ListUser GetUsers(){ListUser list UserManager.CreateUsers();return list;}}
} 2.3 HttpGet和HttpPost类型的区别 1.传入参数不同 HttpGet传入个体基本类型 如int,string 可传多个 HttpPost传入的是主题参数当然也可以传入个体参数 [HttpGet(getUserById)]public User GetUserById(int id){return UserManager.GetUserById(id);}//User 是一个内容[HttpPost(add)]public User Add(User user){//ListUser users new ListUser();return UserManager.Add(user);}
2.HttpGet接口执行后 返回的 Request URL路径可以在通过浏览器打开如下图
执行的就是get 网址和执行效果图 图一相对应 5.构建控制器进行测试 1.创建控制器
右键单击 Controllers 文件夹。
选择“添加”“新建构建项”。
选择“其操作使用实体框架的 API 控制器”然后选择“添加” 。
在“添加其操作使用实体框架的 API 控制器”对话框中
在“模型类”中选择“TodoItem (TodoApi.)”。 在“数据上下文类”中选择“TodoContext (TodoApi.)”。 选择“添加”。 二.ASP.NET Core 开发 Web API 控制器类WeatherForecastController.cs 继承自ControllerBase类。我们注意到ASP.NET Core MVC项目中的控制器类继承自Controller类Controller是ControllerBase类的子类。Controller类中包含View等和MVC中的视图等相关的代码因此我们在编写Web API 的时候控制器类一般不需要继承自Controller。 在WeatherForecastController.cs类中加入[Route([controller]/[action])]表示访问的路径 在方法中前边加入[HttpGet]或者[HttpPost]等等表示可以处理Get或者Post请求了在WeatherForecastController新增加了一个方法SaveNote方法这个方法把用户提交的内存保存到文本文件中方法的返回值为保存的文件名 对于Web API参数的传递建议如下
对于保存、更新类的请求一般都是使用POST、PUT请求把全部参数都放到请求报文体中 对于DELETE请求要传递的参数就是一个资源的ID因此把参数放到QueryString中即可 对于GET请求一般参数的内容都不会太长因此统一通过QueryString传递参数就可以 当然对于极少数参数内容超过URL限制的请求由于GET、PUT请求都是幂等的因此把请求改成通过PUT请求然后通过报文体来传递参数
四. Core WebApi 接收前端传过来的数据 Content-Type:application/json的数据前端对json数据进行JSON.stringify()序列化后台直接用对应的实体类或者list集合直接接收或者用[FromBody] string value接收接收后反序列化一般不这么做post请求 Content-Type:text/plain 数据[FromForm]实体类获取或者直接[FromForm] 普通数据类型获取。post请求 另外如果是实体类接收前端参数实体类前需要加[FromQuery]或者[FromHeader]get请求 注意无论实体类方式接收还是普通数据类型参数接受数据都必须保证前后端字段名一致不讨论特殊情况。