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获取对象列表,传入数据以及对象的更多相关文章

  1. 总体介绍ASP.NET Web API下Controller的激活与释放流程

    通过<ASP.NET Web API的Controller是如何被创建的?>我们已经对HttpController激活系统的核心对象有了深刻的了解,这些对象包括用于解析程序集和有效Http ...

  2. ASP.NET Web API的Controller是如何被创建的?

    Web API调用请求的目标是定义在某个HttpController类型中的某个Action方法,所以消息处理管道最终需要激活目标HttpController对象.调用请求的URI会携带目标HttpC ...

  3. ASP.NET Web API下Controller激活

    一.HttpController激活流程 对于组成ASP.NET Web API核心框架的消息处理管道来说,处于末端的HttpMessageHandler是一个HttpRoutingDispatche ...

  4. web开发-服务器Controller到前端中的数据传递

    一, ajax方式 (一)controller中 1. 定义AjaxResponse类 成员有: status , message, data.  其中 status是成功或失败状态, message ...

  5. 数据读取器对象SqlDataReader与数据适配器对象SqlDataAdapter的使用

        一.数据读取器对象SqlDataReader的使用      如何执行有查询结果集的select语句. 1.SqlDataReader对象的作用:当包含select语句的SqlCommad对象 ...

  6. Web API中如何获取相对地址的绝对地址 Server.MapPath

    var sPath = System.Web.Hosting.HostingEnvironment.MapPath("/FilePath/");

  7. web中纯java获取配置文件中的数据

    /*********获取配置文件,但配置文件中的值改变,不会随着值的改变也获取的参数值改变**********/  /**   * 原因是因为,类装载,装载完后,不会再去装载了   * *///  I ...

  8. python获取list列表随机数据

    第一种方法(推荐)适用于随机取一个值, 返回一个值import randomlist1 = ['佛山', '南宁', '北海', '杭州', '南昌', '厦门', '温州']a = random.c ...

  9. 数据库学习任务四:数据读取器对象SqlDataReader、数据适配器对象SqlDataAdapter、数据集对象DataSet

    数据库应用程序的开发流程一般主要分为以下几个步骤: 创建数据库 使用Connection对象连接数据库 使用Command对象对数据源执行SQL命令并返回数据 使用DataReader和DataSet ...

  10. Thread对象 既传入了Runnable对象又重写了run()方法

    Thread本身是一个类,其run(): 正常情况下, target(即传入的new Runnable()对象)不为空,就是执行target里面的run方法 但是,重新run()方法之后,就不会在执行 ...

随机推荐

  1. ChatGPT最全提示词Prompts总结,看这一篇就够了!

    以下几乎涵盖了各类人群想要使用ChatGPT的所有提示词,需要的朋友可以直接复制粘贴使用. 从翻译到整理耗费超过2个小时,如果内容对大家有帮助,请不要吝啬你们的喜欢.点赞.关注~ ​ 如何正确的提问? ...

  2. thinkphp常量定义

    是已经封装好的系统常量 主要是用在控制器下面的动作当中 这样能很大的提高我们的开发效率主要有下面的一些     手册上面都有的     __ROOT__ 网站的根目录     __APP__ 代表项目 ...

  3. autojs系列-js入门1

    开头 确保 Autojs 和 adb 还有模拟器安装调试完成之后,就可以进行js的学习了 调试安装一部分步骤可以参考 https://www.cnblogs.com/c-keke/p/14919615 ...

  4. django安装依赖包报错No such file or directory: 'requirement.txt'和警告You are using pip version 22.0.4; however, version 23.0.1 is available.

    ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirement.txt'WARNI ...

  5. upload-labs 第一关 前端验证绕过!

    打开靶场发现只能上传jpg png gif 的文件格式的文件,我们想要上传上去的文件格式为php文件格式,首先在Notepad++里面打开图片,会出现很多乱码,我们在最后面添加漏洞语句<?php ...

  6. 去掉谷歌/新版Edge 浏览器的禁用扩展提示

    简介 你打开是谷歌/新版Edge浏览器的时候是不是总发现右上角有个提示?请禁用/停用以开发者模式运行的扩展程序?每次打开都有一个小框框,让人很烦? 接下来让我们使用 dll大法 来解决这个问题! 步骤 ...

  7. Python异步编程之web框架异步vs同步 无IO任务压测对比

    前言 在python编程中,通过协程实现的异步编程号称能够提高IO密集型任务的并发量.本系列比较web服务器同步框架和异步框架的性能差异,包括无IO接口和常见IO操作,如文件.mysql.redis等 ...

  8. webpack Dev Server Invalid Options options should NOT have additional prop

    今日npm run serve时提示ERROR ValidationError: webpack Dev Server Invalid Options options should NOT have ...

  9. docker容器中下载vim指令的速度特别慢,解决方案

    1 首先要进入容器内执行,保存目前源 mv /etc/apt/sources.list /etc/apt/sources.list.bak 2修改源,由于docker默认没有vim的包 所以无法使用v ...

  10. 驱动开发:内核PE结构VA与FOA转换

    本章将继续探索内核中解析PE文件的相关内容,PE文件中FOA与VA,RVA之间的转换也是很重要的,所谓的FOA是文件中的地址,VA则是内存装入后的虚拟地址,RVA是内存基址与当前地址的相对偏移,本章还 ...