当前位置: 首页 > news >正文

网站转移动版网站开发与软件销售

网站转移动版,网站开发与软件销售,什么网站可以帮人做ppt赚钱,制作个人网站实例一. 原生态接口 1. 从默认路由开始分析 在WebApiConfig.cs类中的Register方法中#xff0c;我们可以看到默认路由如下#xff1a; 分析#xff1a;请求地址在 controller 前面需要加上 api/#xff0c;controller后面没有action#xff0c;最后有一个参数{id}#xff0c…一. 原生态接口 1. 从默认路由开始分析 在WebApiConfig.cs类中的Register方法中我们可以看到默认路由如下 分析请求地址在 controller 前面需要加上 api/controller后面没有action最后有一个参数{id}webapi默认的路由规则就是一种RestFul风格的接口调用规则。 2. WebApi的默认调用规则 (1). 方法名默认为Get或者GetXXX开头的只接受get请求默认为Post或者PostXXX开头的只接受Post请求如果标注[HttpGet]、[HttpPost]等特性的话则以特性为主。 (2). 不以GetXX或者PostXX等特殊开通的通过标注[HttpGet]等特性也可以进行访问, 比如下面的UserInfor方法通过添加[HttpGet]特性就可以进行Get访问了。 PS其它特殊的调用接受规则详见下一节。 3. 实战测试 前提以下所有的Action都位于FirstController下路由规则使用的是WebApi的默认路由规则。 (1).无参Get方法 请求方式Get请求请求地址http://localhost:2131/api/First (2).有参数的Get方法参数名为int id 请求方式Get请求请求地址http://localhost:2131/api/First/5   或者  http://localhost:2131/api/First/?id5 分析默认的路由规则api/{controller}/{id}最后一个是 {id}而该方法的参数名也为id所以可以 api/First/5  拼接如果这里路由规则为api/{controller}/{id2}方法的参数名必须为 int id2才可以 api/First/5  这样拼接。 (3). 有参数的Get方法参数名为 int id2 分析该方法和上述的Get(int id)不能共存因为不满足重载规范该方法只能通过 api/First?id2111 的模式进行Get请求不能通过api/First/2的模式进行请求因为路由中最后一位是 {id}而不是{id2}。 (4). 有string参数的Get方法 请求方式Get请求请求地址分别为http://localhost:2131/api/First/?userName5 、http://localhost:2131/api/First/?str5 (5). 多个参数且不以Get开头标注[HttpGet]特性 请求方式Get请求请求地址为http://localhost:2131/api/First/?id5nameypf (6). 带一个参数的Post请求 请求方式如下 (7). 带一个参数的Delete请求 请求方式Delete  请求地址http://localhost:2131/api/First/?id5 或者 http://localhost:2131/api/First/5 (8). 带一个参数的Put请求  存在问题postman请求服务器端拿不到value的值。 稍后解决 二. 路由规则 1. 简介 WebApi有两种路由规则默认路由和特性路由,都位于WebApiConfig类中的Register方法里进行配置 (1). config.MapHttpAttributeRoutes(); 代表特性路由 (2). config.Routes.MapHttpRoute();  代表统一的默认路由 特别注意特性路由的优先级 大于 默认路由的优先级 2. 默认路由 WebApi的默认路由为routeTemplate: api/{controller}/{id}不含action且最后一个参数名为id只有参数名为id的时候才可以通过api/xxx/1 这种方式进行访问。 默认路由可以同时声明多个只要里面的name值不一样即可满足任何一个路由规则都可以访问。 演示增加两个路由名字分别为DefaultApi2和DefaultApi3下面的GetUseName方法通过这两个路由规则 api2/Third/GetUserName?userName1234 或者 api3/Third/GetUserName?userName1234 都可以访问 (PS:需要注释掉相关的[RoutePrefix]和[Route]) 服务器端代码 3. 特性路由 (1). 可以通过[Route]和[RoutePrefix]这两个标记来自定义路由规则[Route]作用于action[RoutePrefix]作用于Controller 一旦设置了其中任何一个默认路由routeTemplate就不起任何作用了。 (2). 当[RoutePrefix]和[Route]都存在的话规则为二者的拼接结合先[RoutePrefix] 后[Route] 案例测试 A下面的GetM1(string userName)方法增加特性 [Route(myApi/Third/GetM1)]注视掉控制器上的[RoutePrefix]特性保留默认路由DefaultApi2和DefaultApi3 则该方法需要通过http://localhost:2131/myApi/Third/GetM1?userName1234 进行访问。 B下面的GetM2(string userName)方法增加特性 [Route(myApi/Third/GetM2)]控制器上增加[RoutePrefix(ypfApi/Third)]保留默认路由DefaultApi2和DefaultApi3 则该方法需要通过http://localhost:2131/ypfApi/Third/myApi/Second/GetM2?userName1234 进行访问。 C下面的GetFullName(string firstName,string lastName)方法增加特性 [Route(myApi/Third/GetFullName/{firstName}/{lastName})]注视掉控制器上的[RoutePrefix]特性 保留默认路由DefaultApi2和DefaultApi3。 则该方法可以通过http://localhost:2131/myApi/Third/GetFullName/姚/大宝 进行访问 1 //[RoutePrefix(ypfApi/Third)]2 public class ThirdController : ApiController3 {4 /// summary5 /// 演示多个默认路由的情况6 /// 需要把控制器的特性注释掉需要把WebApiConfig中的 DefaultApi2和DefaultApi3两个路由打开其他的都注释掉7 /// /summary8 /// param nameuserName/param9 /// returns/returns 10 [HttpGet] 11 public string GetUserName(string userName) 12 { 13 return $userName的值为{userName}; 14 } 15 16 /// summary 17 /// 演示淡出的[Route]特性 18 /// /summary 19 /// param nameuserName/param 20 /// returns/returns 21 [Route(myApi/Third/GetM1)] 22 [HttpGet] 23 public string GetM1(string userName) 24 { 25 return $GetM1您的返回值为{userName}; 26 } 27 28 /// summary 29 /// 演示[RoutePrefix]和[Route] 30 /// /summary 31 /// param nameuserName/param 32 /// returns/returns 33 [Route(myApi/Third/GetM2)] 34 [HttpGet] 35 public string GetM2(string userName) 36 { 37 return $GetM2您的返回值为{userName}; 38 } 39 40 /// summary 41 /// 演示自定义[Route]的特殊写法 42 /// /summary 43 /// param namefirstName/param 44 /// param namelastName/param 45 /// returns/returns 46 [Route(myApi/Third/GetFullName/{firstName}/{lastName})] 47 [HttpGet] 48 public string GetFullName(string firstName,string lastName) 49 { 50 return $firstName值为{firstName},lastName值为{lastName}; 51 } 52 53 } 5. 特性路由的作用 (1). 标记特殊的访问路径,该功能有点鸡肋用的比较少。 (2). 多版本控制的时候会使用. 后面介绍
http://www.pierceye.com/news/555417/

相关文章:

  • 广州自助建设网站平台天津做网站美工
  • js 捕获网站异常插件网站商城怎么做
  • 北辰网站开发淮北哪有做淘宝网站
  • 建设银行e路通网站室内设计师证需要学哪些课程
  • 舟山市建设信息港网站打不开如何建设一个收费的影视图文网站
  • 内蒙建设信息网站网页制作作品阐述
  • 天津网站seo策划服装定制项目计划书
  • 常州网站建设大全买奢侈品代工厂做的产品的网站名
  • 建设网站如入什么费网站建设体会doc
  • 不备案怎么做淘宝客网站吗深圳华强北新闻最新消息今天
  • 梅兰商贸网站开发设计外国网站在中国做推广
  • 有无专门做网站会员人数迅速增加的方法北京单页营销型网站
  • 岳阳网站开发网站运营怎么做建设网站设计
  • 能打开各种网站的浏览器下载合集建设农产品网络营销网站
  • 陕西网站建设方案优化如何做网站挂qq
  • 无锡市网站WordPress分类id在哪
  • 网站建设金网站建设 需求模板
  • 提高网站转化率营销网站制作都选ls15227
  • 一级页面的网站怎么做爱疯卷网站怎么做
  • 网站企业快速备案大气的企业网站
  • 一个好的网站建设微网站手机制作
  • 广州市做民宿什么网站比较好图盛网站建设
  • 深圳做网站佰达科技二十七易语言做网站源码
  • 水禾田网站建设公司南沙区做网站
  • 江西赣州网站上海企业服务云电话
  • 洱源网站建设品牌名字大全
  • 网站建设阶段要做什么帝国cms对比WordPress
  • 盐城做企业网站多少钱网页设计个人总结800
  • 北京做兼职网站温州网站建设模板下载免费
  • 推进门户网站建设方案wordpress插件自动更新