ASP.NET Web API - Basic CRUD w/o DTO

  • GET:
    假設現在的 services 可以 Get 全部的 Employees, 或者是依據 Employees ID 來找到特定某位 Employee
  1. Get 全部的 Employees, 第一個紅線可以看到是用 HttpGet 的 Method, 這樣就可以讓 Controller 知道這一個 Action 的 Http 的動詞是用 Get, 第二個紅線是 return type, 這裡我回傳的是Employee List, 因為
2.Get a certain employee, 第一個紅線 HttpGet, 表示使用的是 Http 的 Get Method, 第二個紅線是 return type, 在這裡我只想要找到特定 id 的 employee, 所以只會有一個, 第三個紅線 FromUri, 表示是 id 是從 https://localhost/port#/api/employees/id 傳過來的

  • POST : 第一個紅線是 HttpPost, 表示使用的是 Post Method, 第二個的 return type 變成 IHttpActionResult, 這是一個 Web API 最常見的 return type, 因為它可以幫你處理 Error, 也可以幫你處理你想要回傳的東西, 所以我大部分都常都會用 IHttpActionResult 來做處理, 第三個紅線可以看到 FromBody, 跟一個 Employee object, 表示這一個 Employee Object 是由 Request Body 來的, 第四個和第五個紅線可以看到使用了 BadRequest() 和 Ok(), 這 2 個 methods 是 ActionResult Helper Methods, 其中 BadRequest() 和 Ok() 只是其中的 2 個而已

  • Delete
    第一個紅線表示使用的是 HttpDelete, 回傳的 type 也是 IHttpActionResult, id 的來源是 URI

  • Put
    HttpPut 主要是 update DB 裡面已經有的資料, return type 也是用 IHttpActionResult, Employee Object 是從 Request Body 來的, 如果傳進來的資料有問題, 就回傳 ActionResult Helper Method 的 BadRequest, 沒找到就回傳 NotFound(), 找到並且回傳成功, 就回傳 Ok()

留言