/// <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); }
更新密碼操作需要傳入多個參數,這種情況下,需要傳入多個參數。服務的代碼如下所示。
/// <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界面如下圖所示。
在添加用戶或者更新用戶信息的時候,需要傳入一個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": "手機號碼" }
執行,結果如下圖所示。