首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >未通过属性路由找到子文件夹中的Web API控制器

未通过属性路由找到子文件夹中的Web API控制器
EN

Stack Overflow用户
提问于 2017-01-19 07:30:13
回答 1查看 1.7K关注 0票数 0

我在这个文件夹结构中有一个控制器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Site
-Controllers
--API
---EventsController.cs

EventsController.cs包含以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[RoutePrefix("api")]
public class EventsController : Controller
{
    [Route("event")]
    public ActionResult Index()
    {
        return View("~/Views/Home/Index.cshtml");
    }

WebApiConfig.cs包含以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void Register(HttpConfiguration config)
{
    // Web API configuration and services

    // Web API routes
    config.MapHttpAttributeRoutes();

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

当我从Visual Studio运行该站点并尝试访问http://127.0.0.1:8080/api/event时,除了以下错误之外什么也看不到:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Error>
  <Message>
    No HTTP resource was found that matches the request URI 'http://127.0.0.1:8080/api/event'.
  </Message>
  <MessageDetail>
    No type was found that matches the controller named 'event'.
  </MessageDetail>
</Error>

如果我注释掉config.Routes.MapHttpRoute行,使WebApiConfig.cs如下所示,上面的config.Routes.MapHttpRoute就可以工作了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void Register(HttpConfiguration config)
{
    // Web API configuration and services

    // Web API routes
    config.MapHttpAttributeRoutes();

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

我做错了什么?配置DefaultApi路由时,是什么原因导致属性路由失败?我试着把它放在config.MapHttpAttributeRoutes()的前面/后面,都不管用。

顺便说一句,我在阅读下面的文章时手动构建了这个项目,它与MVC/Web API项目具有相同的结构,并且确实可以工作。我就是想不出我做了什么不一样的事。

http://www.codemag.com/Article/1605081

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-19 15:24:49

多亏了@phil-cooperanswer才能继承控制器中正确的基类。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41736140

复制
相关文章
HttpClient来自官方的JSON扩展方法
Json的序列化和反序列化是我们日常常见的操作,通过System.Net.Http.Json我们可以用少量的代码实现上述操作.正如在github设计文档中所描述
HueiFeng
2020/04/13
1.2K0
HttpClient来自官方的JSON扩展方法
Json的序列化和反序列化是我们日常常见的操作,通过System.Net.Http.Json我们可以用少量的代码实现上述操作.正如在github设计文档中所描述
HueiFeng
2020/04/15
1K0
【API架构】使用 JSON API 的好处
在 API 工艺的世界里,没有比设计更受热议的领域了。从 REST、gRPC 到 GraphQL,有许多方法可以设计和标准化 Web API 交互。今天,我们将注意力转向另一种方法,JSON API,JSONAPI.org 上详细介绍的用于构建 API 的规范。
架构师研究会
2022/05/29
2.8K0
python匹配两个文件中相同的内容
data_small.txt中内容如下: 343 0 5258 1 3973 2 data_big.txt中内容如下: 343 2009-05-30T17:01:58Z 39.04183745 -94.5914053833 9191 343 2009-05-28T23:40:31Z 39.0523183095 -94.6074986458 8904 23 2009-05-28T23:40:31Z 39.0523183095 -94.6074986458 8904 56 2009-05-27T18:59:50Z 39.0424168 -94.59061145 9188 5258 2009-05-15T00:09:42Z 38.9920234667 -94.5920920333 10927 5258 2009-05-27T18:59:50Z 39.0424168 -94.59061145 9188 545 2009-05-15T00:09:42Z 38.9920234667 -94.5920920333 10927 3973 2009-05-14T20:47:20Z 39.0142536 -94.5928215833 12305 3973 2009-05-14T20:43:05Z 39.0146281324 -94.5907831192 9627
全栈程序员站长
2022/11/07
2.3K0
Chrome 102:新增两个 HTML 属性、两个 JS API !
inert 属性是一个全局的 HTML 属性,它可以告诉浏览器忽略元素的用户输入事件,包括焦点事件和来自辅助技术的其他事件。主要是下面两种用例:
ConardLi
2023/01/09
1.9K0
Chrome 102:新增两个 HTML 属性、两个 JS API !
让Laravel API永远返回JSON格式响应的方法示例
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于ECMA262语言规范(1999-12第三版)中JavaScript编程语言的一个子集。 JSON采用与编程语言无关的文本格式,但是也使用了类C语言(包括C, C++, C#, Java, JavaScript, Perl, Python等)的习惯,这些特性使JSON成为理想的数据交换格式。
用户2323866
2021/07/13
2.7K0
JSON API
FreeSWITCH早在1.4时代就有了JSON API,然而,却没有引起大家的重视。其实,JSON API的设计有更好的结构化和扩展性,配合HTTP和Websocket接口,必将大有作为。
杜金房
2020/12/21
9210
推荐两个C++API参考网站
C++ 标准库接口众多。在实际使用时如果不熟悉常常感到无从下手。阅读开源代码时,常常能看到使用C++新特性的优美代码,但却显得那么陌生。
首飞
2022/04/18
2.8K0
推荐两个C++API参考网站
Spring Boot 中如何统一 API 接口响应格式?
松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里-->Spring Boot+Vue+微人事视频教程
江南一点雨
2021/04/01
1.3K0
来自群友的分享
我是来自某大学本科,刚打完一个关于机器人的比赛,简单来说我在里面是负责识别一排矩形物体,返回最近的一个长方体并返回其相对于深度相机的三维坐标和角度。因为要使机器人运动,所以相对于机器人的角度信息也是必要的。
点云PCL博主
2019/07/30
8110
来自群友的分享
性能工具之JMeter两个Java API Demo
https://github.com/7DGroup/JMeter-API-Demo
高楼Zee
2019/07/17
2K0
JSON Web 令牌(JWT)是如何保护 API 的
你可以已经听说过 JSON Web Token (JWT) 是目前用于保护 API 的最新技术。
用户4283147
2022/10/27
2.1K0
Shenandoah GC:一个来自JDK12的全新并发压缩垃圾回收器
是不是才听说了JDK11的ZGC,并且还没搞懂?不好意思,OpenJDK12马不停蹄的带来了Shenandoah GC。
Java_老男孩
2019/12/02
1.5K0
Automa-通过连接块来自动化你的浏览器
通过浏览器插件可实现自动化脚本的录制与编写,具有代表性的工具就是:Selenium IDE、Katalon Recorder,对于简单的业务来说可快速实现自动化的上手工作。
wangmcn
2023/08/22
7700
Automa-通过连接块来自动化你的浏览器
Ids4 认证保护 API 方案更新
可能你咋一看这个标题不知道什么意思,其实我也没想好怎么表达,因为是一个特别简单的小知识点。
老张的哲学
2022/04/11
9680
Ids4 认证保护 API 方案更新
Solr 如何自动导入来自 MySQL 的数据
在笔记 2 中,可能在执行导入时会报错,那是因为还需要将 mysql-connector-java-xxx.jar 放入 solr-xxx/server/lib 文件夹下;
村雨遥
2022/06/15
2K0
Solr 如何自动导入来自 MySQL 的数据
来自Byron同学的解答
使用了第三方的网页分析模块BeautifulSoup,可以从这里下载最新版:http://www.crummy.com/software/BeautifulSoup/ =============== #!usr/bin/python #coding:utf-8 ''' @author:Byron 新浪围脖:http://weibo.com/ziyuetk ''' import urllib2 from bs4 import BeautifulSoup print "豆瓣正在热映:" url = "http:
Crossin先生
2018/04/17
6530
点击加载更多

相似问题

来自linkedin的JSON api响应

19

在视图中显示来自api的JSON响应

10

来自SpreadSheet API的JSON响应

28

来自json API响应的列表

112

来自服务器的JSON响应来自R- REST API

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文