使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(二)-- Web Api Demo
在上一篇里,我已經建立了一個簡單的Web-Demo應用程序。這一篇將記錄將此Demo程序改造成一個Web Api應用程序。
一、添加ASP.NET Core MVC包
1. 在project.json文件添加Microsoft.AspNetCore.Mvc包
{
? "version": "1.0.0-*",
? "buildOptions": {
? ? "debugType": "portable",
? ? "emitEntryPoint": true
? },
? "dependencies": {
? ? "Microsoft.NETCore.App": {
? ? ? "type": "platform",
? ? ? "version": "1.0.0"
? ? },
? ? "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
? ? "Microsoft.AspNetCore.Mvc": "1.0.0"
? },
? "frameworks": {
? ? "netcoreapp1.0": {
? ? ? "imports": "dnxcore50"
? ? }
? }
}
2. 在cmd窗口使用 dotnet restore 將新添加的包還原至本地
?
二、修改Startup.cs文件內容,添加Asp.Net Mvc能力
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
namespace WebApiFrame
{
? ? public class Startup
? ? {
? ? ? ? public void ConfigureServices(IServiceCollection services)
? ? ? ? {
? ? ? ? ? ? // 注入MVC框架
? ? ? ? ? ? services.AddMvc();
? ? ? ? }
? ? ? ? public void Configure(IApplicationBuilder app)
? ? ? ? {
? ? ? ? ? ? // 添加MVC中間件
? ? ? ? ? ? app.UseMvc();
? ? ? ? }
? ? }
}
三、新建Controller,編寫Web Api方法
1. 控制器UsersController
using System;
using Microsoft.AspNetCore.Mvc;
using WebApiFrame.Models;
namespace WebApiFrame.Controller
{
? ? [Route("api/[controller]")]
? ? public class UsersController : Microsoft.AspNetCore.Mvc.Controller
? ? {
? ? ? ? [HttpGet("{id}")]
? ? ? ? public IActionResult Get(int id)
? ? ? ? {
? ? ? ? ? ? var user = new User() { Id = id, Name = "Name:" + id, Sex = "Male" };
? ? ? ? ? ? return new ObjectResult(user);
? ? ? ? }
? ? ? ? [HttpPost]
? ? ? ? public IActionResult Post([FromBody] User user){
? ? ? ? ? ? if(user == null){
? ? ? ? ? ? ? ? return BadRequest();
? ? ? ? ? ? }
? ? ? ? ? ? // TODO:新增操作
? ? ? ? ? ? user.Id = new Random().Next(1, 10);
? ? ? ? ? ? return CreatedAtAction("Get", new { id = user.Id }, user);
? ? ? ? }
? ? ? ? [HttpPut("{id}")]
? ? ? ? public IActionResult Put(int id, [FromBody] User user){
? ? ? ? ? ? if(user == null){
? ? ? ? ? ? ? ? return BadRequest();
? ? ? ? ? ? }
? ? ? ? ? ? // TODO: 更新操作
? ? ? ? ? ? return new NoContentResult();
? ? ? ? }
? ? ? ? [HttpDelete("{id}")]
? ? ? ? public void Delete(int id){
? ? ? ? ? ? // TODO: 刪除操作
? ? ? ? ? ??
? ? ? ? }
? ? }
}
不同于之前的ASP.NET MVC版本,ASP.NET Core MVC里實現Web Api的控制器都繼承自唯一的一個基類Controller。
2. 模型User.cs
namespace WebApiFrame.Models
{
? ? public class User
? ? {
? ? ? ? public int Id { get; set; }
? ? ? ? public string Name { get; set; }
? ? ? ? public string Sex { get; set; }
? ? }
}
最終文件夾結構如下圖
?
四、啟動調試,使用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。
原文地址:http://www.cnblogs.com/niklai/p/5658876.html
.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
總結
以上是生活随笔為你收集整理的使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(二)-- Web Api Demo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Conway#39;s law(康威定律
- 下一篇: .NET Core扩展IServiceC