《ASP.NET5》Web API Controller Class学习

Web API Controller Class是VS2015中ASP.NET Web Application类型的项目中添加新项时的一种模板类型,该模板类型产生一个REST风格的接口类,

为什么选择它不选择MVC Controller Class呢?

因为我们不希望它涉及到View,根本不需要View;

对于高手来说其实都一样了,继承的类都是一样的,只是具体的实现是不一样的;

比如别人已经提供了完整的类似代码,选择哪种模板就不重要了。

示例代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNet.Mvc;

// For more information on enabling Web API for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860

namespace dotnethelloworld.Controllers
{
    [Route("api/[controller]")]
    public class ValuesController : Controller
    {
        // GET: api/values
        [HttpGet]
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET api/values/5
        [HttpGet("{id}")]
        public string Get(int id)
        {
            return "value";
        }

        // POST api/values
        [HttpPost]
        public void Post([FromBody]string value)
        {
        }

        // PUT api/values/5
        [HttpPut("{id}")]
        public void Put(int id, [FromBody]string value)
        {
        }

        // DELETE api/values/5
        [HttpDelete("{id}")]
        public void Delete(int id)
        {
        }
    }
}

添加方法:

在项目名称上点击鼠标右键,添加》新建项

左侧选择服务器端,中间选择:Web API Controller Class,名称处输入您希望使用的名称

浏览调用:

VS2015窗口活动状态下,按F5键进入调试状态,会打开一个默认浏览器窗口,地址类似:http://localhost:3753

注意:后面的端口是随机的;

REST风格的API我们通过浏览器地址栏访问能测试的只有GET类型的接口请求,

我们来看一下Get()方法的注释:// GET: api/values

这告诉我们可以通过api/values访问这个方法,访问地址例如:http://localhost:3753/api/values

我们再来看一下Get(int id)方法的注释:// GET: api/values/5

这告诉我们可以通过api/values/5访问这个方法,访问地址例如:http://localhost:3753/api/values/5

后面的5就是传递给对应int id的值,类型需要匹配,不匹配的话默认是0;

时间: 2024-08-26 12:29:56

《ASP.NET5》Web API Controller Class学习的相关文章

ASP.NET Web API Controller 是怎么建成的

先看ASP.NET Web API 讯息管线: 註:为了避免图片太大以至于超过版面,上图中的「HTTP 讯息处理程序」区块省略了 HttpRoutingDispatcher 处理路由分派的部分.「控制器」区块则省略了筛选条件(filter)的处理细节.微软网站有提供一份比较完整的 Web API 讯息处理流程图,网址是 http://www.microsoft.com/en-us/download/details.aspx?id=36476. 此讯息管线架构图分为三层,由上至下,分别是装载(Ho

《ASP.NET5》无法路由到Web API Controller控制器

这个标题不知道恰当不恰当,具体的问题就是我在一个现有的项目上创建了一个Web API Controller Class,但是按F5启动调试后,通过给定的路径如"http://localhost:3753/api/values/5"访问Get(int id)方法时,没有反应,设置了断点也进不去. 但这个问题在网上又没有找到解决方法,于是又新建了一个ASP.NET Web Application类型的项目,然后添加一个Web API Controller Class, 参考:<ASP

Asp.Net Web API 2 官网菜鸟学习系列导航[持续更新中]

前言 本来一直参见于微软官网进行学习的, 官网网址http://www.asp.net/web-api.出于自己想锻炼一下学习阅读英文文章的目的,又可以学习下微软新发布的技术,其实也很久了,但自己菜鸟一枚,对自己来说都是新技术了.鉴于以上两个原因,本人打算借助google翻译和有道词典,来翻译学习这个系列,并通过博客园来记录自己的翻译学习过程.由于自己阅读水平的确太菜,在借助工具的情况下,有时候搞出来的也是蹩脚的语句,自己读着都难受,尤其是到了Web API路由的那两篇,所以自己想着是不是有别人

ASP.NET Web API 学习 一

Technorati 标记: ASP.NET Web API   从参加工作开始就开始关注博客园,在园子里学到很多知识,看过很大大牛的文章,确从未发表过一个字.最近刚刚换了公司,学习Web API,就此开始我的第一篇文章吧,也作为学习的记录! 简介就不多介绍,说说我对ASP.NET Web API 的一点点理解. 不同于 Web Service.WCF, ASP.NET Web API 直接访问和处理 Http 请求和响应,在开发中,减少了很多工作,让人感觉一切是如此顺畅. 首先,创建一个 AS

ASP.NET Web API 学习【转】

转自:http://www.cnblogs.com/babycool/p/3922738.html 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现数据调用. 继续使用上一文章中的示例,添加一个index.html页面,添加对jquery的引用. 一.无参数Get请求 一般的get请求我们可以使用jquery提供的$.get() 或者$.ajax({type:"get"}) 来实现: 请求的后台Actio

总体介绍ASP.NET Web API下Controller的激活与释放流程

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 通过<ASP.NET Web API的Controller是如何被创建的?>我们已经对HttpController激活系统的核心对象有了深刻的了解,这些对象包括用于解析程序集和有效HttpController类型的AssembliesReso

[ASP.NET Web API]如何Host定义在独立程序集中的Controller

通过< ASP.NET Web API的Controller是如何被创建的?>的介绍我们知道默认ASP.NET Web API在Self Host寄宿模式下用于解析程序集的AssembliesResolver是一个DefaultAssembliesResolver对象,它只会提供 当前应用程序域已经加载的程序集.如果我们将HttpController定义在非寄宿程序所在的程序集中(实际上在采用Self Host寄宿模式下,我们基本上都会选择在独立的项目定义HttpController类型),即

ASP.NET Web API的Controller是如何被创建的?

Web API调用请求的目标是定义在某个HttpController类型中的某个Action方法,所以消息处理管道最终需要激活目标HttpController对象.调用请求的URI会携带目标HttpController的名称,该名称经过路由解析之后会作为路由变量保存到一个HttpRouteData对象中,而后者会被添加到代表当前请求的HttpRequestMessage对象的属性字典中.ASP.NET Web API据此解析出目标HttpController的类型,进而实现针对目标HttpCon

学习ASP.NET Web API框架揭秘之“HTTP方法重写”

最近在看老A的<ASP.NET Web API 框架揭秘>,这本书对于本人现阶段来说还是比较合适的(对于调用已经较为熟悉,用其开发过项目,但未深入理解过很多内容为何可以这样“调用”).看到第四章了,有些内容看着虽能理解,但未遇到过具体的问题,看起来也就没有豁然开朗之感.同时,有些内容是一眼就觉得“这是干货”,可能是之前遇到过某些问题,当时用一些搓办法解决,但现在看到书中的示例就如获至宝.所以,就挑些单独能拎出来且马上就能在项目中应用的内容出来与大家分享交流下吧.其中会穿插一些框架中的知识点.不