Web Api无法访问 404
最近需要在项目中添加一个Web Api,项目是.net mvc4项目。要想添加一个api,无论你怎么封装,无非就是在Application_Start方法中将WebApi的路由注册进去就行了。例如如下代码:
public static class WebApiConfig{public static void Register(HttpConfiguration config){config.Routes.MapHttpRoute(name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional });}}
将上面的Register方法在Application_Start方法中调用就相当于注册完成。可是笔者已经完成了以上工作,访问Api还是404错误,找不到。百思不得其解啊。。。
最后发现原来路由的注册顺序有关系。正常的mvc项目会注册普通Controller,action的路由信息:例如如下代码:
public static void RegisterRoutes(RouteCollection routes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapRoute(name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });}
该方法也会在Application_Start中调用。
关键来了::::要先调用Api对应的注册路由方法,后调用普通Controller的路由注册方法。因为笔者是后来在项目中添加的WebApi,所以就在最后注册的Api路由,可就是无法访问到。最后将它在普通路由之前注册就成功访问到了!
不知道这是.net mvc的bug,还是就是这么设计的。
转载于:https://www.cnblogs.com/dreamofei/p/4481727.html
Web Api无法访问 404相关推荐
- 连接Android与ASP.NET Core Web API的完整教程
目录 准备数据库 ASP.NET Core Web API项目 创建新的ASP.NET Core Web API项目 实体 导入EF Core 创建DbContext 将连接字符串添加到appsett ...
- ASP.NET Web API与Owin OAuth:使用Access Toke调用受保护的API(二)
在前一篇博文中,我们使用OAuth的Client Credential Grant授权方式,在服务端通过CNBlogsAuthorizationServerProvider(Authorization ...
- ASP.NET Web API与Owin OAuth:使用Access Toke调用受保护的API
在前一篇博文中,我们使用OAuth的Client Credential Grant授权方式,在服务端通过CNBlogsAuthorizationServerProvider(Authorization ...
- 详解Minimal Web API的使用
一.简介 "Minimal API 是为了创建具有最小依赖关系的 HTTP API",这是官方的解释.什么意思呢,创建一个 API 并不需要加载许多的依赖.平时在开发 ASP.NE ...
- 【WEB API项目实战干货系列】- API访问客户端(WebApiClient适用于MVC/WebForms/WinForm)(四)
目前最新的代码已经通过Sqlite + NHibernate + Autofac满足了我们基本的Demo需求. 按照既定的要求,我们的API会提供给众多的客户端使用, 这些客户端可以是各种Web站点, ...
- 使用 Microsoft Excel 轻松访问 Web API
今天的 Web API 是最常见的技术之一,也是大数据的入口点.许多持有.收集或处理数据的公共和私人组织现在都有某种形式的 API 供有限的公众使用.NASA.天气频道.Flight Radar 甚至 ...
- 鸿蒙开发访问webapi,Web API接口
#e# 3.集合和分页的处理 在很多接口里面,我们都需要用到分页的处理,Web API也不例外,这样可以提交数据检索效率,减少服务器数据处理的压力,同时也提交客户端的数据显示速度. 一般的集合接口定义 ...
- Refit结合Polly访问ASP.NET Core Web API
前言 在.NET Core应用中访问ASP.NET Core Web API接口,常用的方式是使用IHttpClientFactory生成HttpClient实例,并通过结合Polly策略,以实现重试 ...
- Web API 跨域访问
JS调用接口最需要注意的就是跨域问题 在.net平台下使js跨域变得非常简单 1.在nuget中引用 Microsoft ASP.NET Web API 2.2 Cross-Origin Suppor ...
最新文章
- git clone错误 fatal: early EOF fatal: index-pack failed
- ADS的go to命令
- Kaggle知识点:数据分析EDA
- boost::posix_time和boost::date_time杂项的测试程序
- 关于ASP.NET的web.config的小笔记
- 2018+计算机软件,2018年6月考试《计算机软件技术基础(1)》在线考核试题
- java最大内存_JAVA:测试java虚拟机支持的最大内存 Xmx 值?Tomcat 内存溢出?
- windowbuilder怎么加背景图_小红书引流:爆款笔记封面图怎么做?(内附教程)...
- PortraitFCN算法详解
- 以表达式作为参数传入SQL的存储过程中去
- 使用tomcat时,Add and Remove出现异常
- NFS客户端挂载目录后无写入权限的解决方案
- 70部MAYA灯光材质渲染教程合集
- 嵌入式系统笔记之声音
- ucfirst() strtoupper() strtolower()
- 华为路由器没有虚拟服务器,华为路由器如何设置 华为路由器设置方法介绍【详解】...
- 计算机硬盘格式化与储存原理
- 年终盘点 | 用Python分析了上千个基金,终于发现了赚钱的秘密!
- [W ParallelNative.cpp:212] Warning: Cannot set number of intraop threads after parallel work h
- percona的安装、启动、停止
热门文章
- Aspx 页面生命周期
- 一场媲美“超女”海选的招聘狂潮
- [导入]关于OllyDbg 2.0的消息..
- 从钱龙数据中读取股票权息信息导入到数据库
- C++ STL学习笔记 : 2. unordered map 容器
- 江西理工大学南昌校区cool code竞赛
- 「前端」History API与浏览器历史堆栈管理
- 使用GNS3和Cisco IOU搭建路由交换实验-安装篇
- leetcode 54. 螺旋矩阵(递归)
- leetcode 771. 宝石与石头(set)