.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地址訪問,得到的結果如下圖所示。

截圖.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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章