.Net Web API 004 Controller获取对象列表,传入数据以及对象
来源: 博客园      时间:2023-08-02 13:38:58

1、返回UserEntityList

这个服务接口的目的是分为用户列表,代码如下所示。

/// /// 得到用户列表/// /// [HttpGet][Route("GetUserList")]public ActionResult> GetUserList(){    var myUserEntityList = new List()    {        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、更新密码

更新密码操作需要传入多个参数,这种情况下,需要传入多个参数。服务的代码如下所示。

/// /// 修改密码/// /// [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。以添加用户为例,代码如下所示。

/// /// 添加用户/// /// [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": "手机号码"}

执行,结果如下图所示。

标签:

广告

X 关闭

广告

X 关闭