首页 > 其他分享 >.Net Web API 004 Controller获取对象列表,传入数据以及对象

.Net Web API 004 Controller获取对象列表,传入数据以及对象

时间:2023-08-02 13:13:12浏览次数:52  
标签:UserName Web return UserEntity Controller API 所示 new GUID

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地址访问,得到的结果如下图所示。

截图.png

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界面如下图所示。

截图.png

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

截图.png

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中测试,会提供传入的数据格式实例。如下图所示。

截图.png

我们构造一个数据。

{
  "guid": "guid",
  "userName": "TestName",
  "tel": "手机号码"
}

执行,结果如下图所示。

截图.png

标签:UserName,Web,return,UserEntity,Controller,API,所示,new,GUID
From: https://www.cnblogs.com/mytudousi/p/17600389.html

相关文章

  • CTFer成长记录——CTF之Web专题·极客大挑战 2019—http
    一、题目链接https://buuoj.cn/challenges#[%E6%9E%81%E5%AE%A2%E5%A4%A7%E6%8C%91%E6%88%98%202019]Http二、解法步骤  本题名叫http,那么应该与http请求包里面的东西有关。   主页是一个招新页面,没有什么特别的,看看源代码:  在右侧的最下面发现了另一个页面,访问看看......
  • Json Web Token
    什么是JsonWebTokenJWT代表JSONWebToken,是一种用于在网络应用中传递信息的安全、紧凑的标准。它主要用于身份验证和授权,并且被广泛用于前后端分离的应用和单点登录系统。JWT由三部分组成,通过点号(.)分隔,分别是:Header(头部):包含了两部分信息,令牌的类型(通常是"JWT")和所使用的......
  • rest-apiV2.0.0升级为simplest-api开源框架生态之simplest-jpa发布
    什么是simplestsimplest追求存粹简单和极致。旨在为项目快速开发提供一系列的基础能力,方便用户根据项目需求快速进行功能拓展不在去关心一些繁琐。重复工作,而是把重点聚焦到业务。前言程序10年。作为一个多年程序。深知每个项目和程序,都有很多重复性工作要做。入行近10......
  • 汉源高科工业级千兆2光8电工业环网交换机WEB管理型智能组环光纤收发器VLAN划分导轨式
    HY5700-7528G-X系列是汉源高科自主研发的全千兆二层网管工业以太网光纤交换机,支持8个10/100/1000Base-T自适应RJ45端口+2个100/1000Base-XSFP光口插槽。所有端口支持线速转发。HY5700-7528G-X具备L2网管功能,支持IPV4/IPV6管理,支持完备的安全防护机制、完善的ACL/QoS策略和丰富的VL......
  • 台积电迎新劲敌,Rapidus横空杀出欲抢2纳米客户 | 百能云芯
    8月2日消息,据台媒报道,台积电2纳米制程劲敌不只大家熟知的三星、英特尔,后面还有追兵,日本芯片国家队Rapidus也计划于2027年量产2纳米芯片,抢台积电客户。值得关注的是,英特尔上周财报会议上也放话,2025年用2纳米、1.8纳米从台积电手中拿回制程技术龙头地位,分析师透露,台积电内部相当紧张......
  • System.Web.HttpException:“超过了最大请求长度。”
    BUG:前端想后端发送坐标数组,控制器出现了如下报错: Answer:该错误提示表明你的HTTP请求超过了服务器允许的最大请求长度。这是为了防止恶意攻击或意外的大型请求对服务器造成压力。为了解决这个问题,你可以尝试以下几种方法:增加服务器的最大请求长度:你可以在服务器的配置中......
  • WebService如何去掉后缀访问
    创建全局应用程序类Global.asax,在方法Application_BeginRequest并添加如下代码:利用替换的方式实现效果stringpath=Request.Url.ToString();path=Request.Url.LocalPath.ToString();if(path=="/IFS"){Contex......
  • 干掉 CRUD!这个API开发神器效率爆炸,无需定义MVC类!!
    简介magic-api能够只通过UI界面就能完成简单常用的接口开发,能够支持市面上多数的关系性数据库,甚至还支持非关系性数据库MongoDB。通过 magic-api 提供的UI界面完成接口的开发,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象和相关文......
  • 干掉 CRUD!这个API开发神器效率爆炸,无需定义MVC类!!
    简介magic-api能够只通过UI界面就能完成简单常用的接口开发,能够支持市面上多数的关系性数据库,甚至还支持非关系性数据库MongoDB。通过 magic-api 提供的UI界面完成接口的开发,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象和相......
  • vite 项目webstorm跳转失效 VSCode、vue 无法对 @ 路径 跳转 ,几乎适用于所有webpack、
    在根目录加一个jsconfig.json文件{"compilerOptions":{"baseUrl":".","paths":{"@/*":["src/*"]},"target":"ES6","allowSyntheticDefaultImports&q......