.Net Web API 004 Controller获取对象列表,传入数据以及对象
1、返回UserEntityList
这个服务接口的目的是分为用户列表,代码如下所示。
/// <summary>
/// 得到用户列表
/// </summary>
/// <returns></returns>
[HttpGet]
[Route("GetUserList")]
public ActionResult<List<UserEntity>> GetUserList()
{
var myUserEntityList = new List<UserEntity>()
{
new UserEntity(){ GUID="A",UserName="AA",Password="", Tel="AAA"},
new UserEntity(){ GUID="B",UserName="BB",Password="", Tel="BBB"},
new UserEntity(){ GUID="C",UserName="CC",Password="", Tel="CCC"},
new UserEntity(){ GUID="D",UserName="DD",Password="", Tel="DDD"},
new UserEntity(){ GUID="E",UserName="EE",Password="", Tel="EEE"},
};
return this.Ok(myUserEntityList);
}
通过Url地址访问,得到的结果如下图所示。

2、更新密码
更新密码操作需要传入多个参数,这种情况下,需要传入多个参数。服务的代码如下所示。
/// <summary>
/// 修改密码
/// </summary>
/// <returns></returns>
[HttpPost]
[Route("ChangePassword")]
public ActionResult ChangePassword(string pUserGUID, string pOldPassword, string pNewPassword)
{
//先判断新密码格式是否合规
var myNewPassword = pNewPassword.Trim();
if (myNewPassword.Length == 0)
{
return this.BadRequest("新密码不能为空。");
} //先读取用户的信息,判断传入的旧密码是否正确,正常要从数据库中读取
if (pOldPassword != "123456")
{
return this.BadRequest("原始密码错误。");
} return this.Ok("密码修改成功" + pUserGUID);
}
因为是修改密码,所以这个API定义为Post,传入的值都是简单类型,可以直接附属到Url后面,不需要定义消息体。编译后,swagger界面如下图所示。

执行测试,效果如下图所示。

3、添加用户传入一个UserEntity
在添加用户或者更新用户信息的时候,需要传入一个UserEntity对象,也就是说我们写的API需要接受一个UserEntity。以添加用户为例,代码如下所示。
/// <summary>
/// 添加用户
/// </summary>
/// <returns></returns>
[HttpPost]
[Route("AddUser")]
public ActionResult AddUser(UserEntity pUserEntity)
{
if (pUserEntity == null)
{
return this.BadRequest("请传正确的UserEntity对象。");
}
if (pUserEntity.GUID == "")
{
pUserEntity.GUID = Guid.NewGuid().ToString();
} return this.Ok("成功添加了名称为" + pUserEntity.UserName + "的用户。");
}
在swagger中测试,会提供传入的数据格式实例。如下图所示。

我们构造一个数据。
{
"guid": "guid",
"userName": "TestName",
"tel": "手机号码"
}
执行,结果如下图所示。

.Net Web API 004 Controller获取对象列表,传入数据以及对象的更多相关文章
- 总体介绍ASP.NET Web API下Controller的激活与释放流程
通过<ASP.NET Web API的Controller是如何被创建的?>我们已经对HttpController激活系统的核心对象有了深刻的了解,这些对象包括用于解析程序集和有效Http ...
- ASP.NET Web API的Controller是如何被创建的?
Web API调用请求的目标是定义在某个HttpController类型中的某个Action方法,所以消息处理管道最终需要激活目标HttpController对象.调用请求的URI会携带目标HttpC ...
- ASP.NET Web API下Controller激活
一.HttpController激活流程 对于组成ASP.NET Web API核心框架的消息处理管道来说,处于末端的HttpMessageHandler是一个HttpRoutingDispatche ...
- web开发-服务器Controller到前端中的数据传递
一, ajax方式 (一)controller中 1. 定义AjaxResponse类 成员有: status , message, data. 其中 status是成功或失败状态, message ...
- 数据读取器对象SqlDataReader与数据适配器对象SqlDataAdapter的使用
一.数据读取器对象SqlDataReader的使用 如何执行有查询结果集的select语句. 1.SqlDataReader对象的作用:当包含select语句的SqlCommad对象 ...
- Web API中如何获取相对地址的绝对地址 Server.MapPath
var sPath = System.Web.Hosting.HostingEnvironment.MapPath("/FilePath/");
- web中纯java获取配置文件中的数据
/*********获取配置文件,但配置文件中的值改变,不会随着值的改变也获取的参数值改变**********/ /** * 原因是因为,类装载,装载完后,不会再去装载了 * */// I ...
- python获取list列表随机数据
第一种方法(推荐)适用于随机取一个值, 返回一个值import randomlist1 = ['佛山', '南宁', '北海', '杭州', '南昌', '厦门', '温州']a = random.c ...
- 数据库学习任务四:数据读取器对象SqlDataReader、数据适配器对象SqlDataAdapter、数据集对象DataSet
数据库应用程序的开发流程一般主要分为以下几个步骤: 创建数据库 使用Connection对象连接数据库 使用Command对象对数据源执行SQL命令并返回数据 使用DataReader和DataSet ...
- Thread对象 既传入了Runnable对象又重写了run()方法
Thread本身是一个类,其run(): 正常情况下, target(即传入的new Runnable()对象)不为空,就是执行target里面的run方法 但是,重新run()方法之后,就不会在执行 ...
随机推荐
- 2023-05-03:给你一棵 二叉树 的根节点 root ,树中有 n 个节点 每个节点都可以被分配一个从 1 到 n 且互不相同的值 另给你一个长度为 m 的数组 queries 你必须在树上执行
2023-05-03:给你一棵 二叉树 的根节点 root ,树中有 n 个节点 每个节点都可以被分配一个从 1 到 n 且互不相同的值 另给你一个长度为 m 的数组 queries 你必须在树上执行 ...
- 解决VM虚拟机中IP或域名不能ping通
c4548abb-da65-4f7d-827f-e95dca25a13d 问题 无法ping通域名, 检查事项 确定在同一个子网,能访问DNS服务器. DNS服务器正确设置了正反向解析,且DNS服务器 ...
- Three.js 进阶之旅:页面平滑滚动-王国之泪 💧
声明:本文涉及图文和模型素材仅用于个人学习.研究和欣赏,请勿二次修改.非法传播.转载.出版.商用.及进行其他获利行为. 摘要 浏览网页时,常被一些基于鼠标滚轮控制的页面动画所惊艳到,比如greenso ...
- 联想win8改win7
知识点分析:目前联想出厂预装Windows 8的台式和一体机使用都是UEFI+GPT硬盘的组合,并且开启了安全启动,但是目前除Window 8以外的其他Windows系统均不支持这种模式,因此如果需要 ...
- Grafana系列-统一展示-8-ElasticSearch日志快速搜索仪表板
系列文章 Grafana 系列文章 概述 我们是基于这篇文章: Grafana 系列文章(十二):如何使用 Loki 创建一个用于搜索日志的 Grafana 仪表板, 创建一个类似的, 但是基于 El ...
- [AGC001E] BBQ Hard题解
Problem [AGC001E] BBQ Hard 计算: \[\sum_{i=1}^{n}\sum_{j=i+1}^n\binom{a_i+b_i+a_j+b_j}{a_i+a_j} \] 其中\ ...
- 关于JavaBean和vo的解释
前景提要 最近在学JavaWeb,接触到了很多java后端的概念,其中JavaBean和vo的概念一直让我模糊不清,查询众多资料后写个博客记录一下. 首先先贴一下两者的概念: JavaBean Jav ...
- 为什么 GPU 能够极大地提高仿真速度?
这里的提速主要是针对时域电磁算法的.因为时域算法的蛙跳推进模式仅对大量存放在固定 位置的数据进行完全相同的且是简单的操作(移位相加),这正是 GPU 这类众核 SIMD 架构所进行的运算,即 ALU ...
- springboot 项目国际化+登录拦截器
项目页面国际化 1.语言配置文件 需要下载插件Resource Bundle Editor 新建国际目录i18n 在properties配置文件中自定义 2.前端index页面要设置语言参数传递给后端 ...
- nginx发布vue 项目
在本次使用nginx发布vue项目遇到 配置location 始终404 和 在项目子目录点击浏览器刷新出现404问题 使用nginx发布vue项目,为了方便测试就下载了一个nginx 放置自己目录下 ...