2018-02-08

项目创建

选择web =>ASP.NET WEB应用程序 =>模板勾选 Empty,核心应用勾选webapi 完成,目录结构如下 ClassController是我后面创建的

QQ图片20180208112646.png

ClassController的内容

 public class ClassController : ApiController
    {
        
        public string Get()
        {

            return "get";
        }
        public string Post()
        {

            return "Post";
        }
    }

此时启动项目 get方式 http://localhost:54307/api/class

QQ图片20180208113143.png

如果相同地址post请求,结果如下
QQ图片20180208113327.png

貌似 ClassController 里面的方法名字已get开头 框架就默认该方法接受get请求,Post,delete 类似
如果想改变方法的请求方式 可手动指定

       [HttpGet]
       [HttpDelete]
       public string Get()
        {

            return "get";
        }

特性路由

刚才我们的防伪地址是 /api/Class ,这是由于WebApiConfig里的路由决定的

  config.Routes.MapHttpRoute(
               name: "DefaultApi",
               routeTemplate: "api/{controller}/{id}",
               defaults: new { id = RouteParameter.Optional }
           );

如果我们想定制我们的访问路径 ,可以在action上或者 controller上 加上特性 Route,如下代码

  [RoutePrefix("api/Class")]
  public class ClassController : ApiController
  {
      [HttpGet]
      [HttpDelete]
      public string Get()
      {

          return "get";
      }
      [Route("getmethod2")]
      public string Post()
      {

          return "post";
      }

      [Route("{classid}/student")]
      public string Get(int classID)
      {
          return string.Format("/api/class/{0}/student", classID);
      }
  }

可以通过route里的参数配置改变访问的地址
eg. http://localhost:54307/api/class/1/student 程序会匹配到该方法上

 [Route("{classid}/student")]
      public string Get(int classID)
      {
          return string.Format("/api/class/{0}/student", classID);
      }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前端开发面试题 <a name='preface'>前言</a> 只看问题点这里 看全部问题和答案点这里 本文由我...
    自you是敏感词阅读 827评论 0 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • HTTP 教程 HTTP 简介 HTTP协议(HyperText Transfer Protocol,超文本传输协...
    程序员咕咕信阅读 185评论 0 1
  • 我们在前三天谈了通识教育的三个方向,语文、数学、历史人文,今天谈最后一部分,为什么大家需要学习科学。 对99.9%...
    凯哥前行阅读 172评论 0 0
  • 一晃一年又快过完了,到了发奖金的时候,年终奖金能拿多少,是大家最关心的问题,到底能拿多少呢? 西游记里的师徒四人是...
    采锦阅读 463评论 0 0