使用Visual Studio Code開發Asp.Net Core WebApi學習筆記(二)-- Web Api Demo

來源:互聯網
上載者:User

標籤:

上一篇裡,我已經建立了一個簡單的Web-Demo應用程式。這一篇將記錄將此Demo程式改造成一個Web Api應用程式。

一、添加ASP.NET Core MVC包

1. 在project.json檔案添加Microsoft.AspNetCore.Mvc包

 1 { 2   "version": "1.0.0-*", 3   "buildOptions": { 4     "debugType": "portable", 5     "emitEntryPoint": true 6   }, 7   "dependencies": { 8     "Microsoft.NETCore.App": { 9       "type": "platform",10       "version": "1.0.0"11     },12     "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",13     "Microsoft.AspNetCore.Mvc": "1.0.0"14   },15   "frameworks": {16     "netcoreapp1.0": {17       "imports": "dnxcore50"18     }19   }20 }

2. 在cmd視窗使用 dotnet restore 將新添加的包還原至本地

 

二、修改Startup.cs檔案內容,添加Asp.Net Mvc能力
 1 using Microsoft.AspNetCore.Builder; 2 using Microsoft.Extensions.DependencyInjection; 3  4 namespace WebApiFrame 5 { 6     public class Startup 7     { 8         public void ConfigureServices(IServiceCollection services) 9         {10 11             // 注入MVC架構12             services.AddMvc();13         }14 15         public void Configure(IApplicationBuilder app)16         {17             // 添加MVC中介軟體18             app.UseMvc();19         }20     }21 }

 

三、建立Controller,編寫Web Api方法

1. 控制器UsersController

 1 using System; 2 using Microsoft.AspNetCore.Mvc; 3 using WebApiFrame.Models; 4  5 namespace WebApiFrame.Controller 6 { 7  8     [Route("api/[controller]")] 9     public class UsersController : Microsoft.AspNetCore.Mvc.Controller10     {11 12         [HttpGet("{id}")]13         public IActionResult Get(int id)14         {15             var user = new User() { Id = id, Name = "Name:" + id, Sex = "Male" };16             return new ObjectResult(user);17         }18 19         [HttpPost]20         public IActionResult Post([FromBody] User user){21             if(user == null){22                 return BadRequest();23             }24 25             // TODO:新增操作26             user.Id = new Random().Next(1, 10);27             return CreatedAtAction("Get", new { id = user.Id }, user);28         }29 30         [HttpPut("{id}")]31         public IActionResult Put(int id, [FromBody] User user){32             if(user == null){33                 return BadRequest();34             }35 36             // TODO: 更新操作37             return new NoContentResult();38         }39 40         [HttpDelete("{id}")]41         public void Delete(int id){42             // TODO: 刪除操作43             44         }45     }46 }

不同於之前的ASP.NET MVC版本,ASP.NET Core MVC裡實現Web Api的控制器都繼承自唯一的一個基類Controller。

2. 模型User.cs

1 namespace WebApiFrame.Models2 {3     public class User4     {5         public int Id { get; set; }6         public string Name { get; set; }7         public string Sex { get; set; }8     }9 }

最終檔案夾結構如

 

四、啟動調試,使用Fiddler工具調試Web Api介面

1. GET Request

GET Response

2. POST Request

POST Response

POST響應碼為201,表示資源建立成功。

在回應標頭裡有一個Location屬性,這是一個導覽屬性,屬性值是一個url地址,直接指向了剛剛Post成功的資源地址。

3. PUT Request

PUT Response

PUT為更新操作。按照規範,當服務更新操作執行成功後,直接通過響應碼204告訴用戶端調用成功,預設沒有響應body。

4. DELETE Request

DELETE Response

DELETE為刪除操作。按照規範,需要通過響應碼判斷是否成功(200)還是失敗(500),預設沒有響應body。

使用Visual Studio Code開發Asp.Net Core WebApi學習筆記(二)-- Web Api Demo

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.