问题标签 [attributerouting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7948 浏览

asp.net-web-api - Asp.Net WebAPI 和 AttributeRouting - 没有重载的属性构造函数?

我刚刚下载了用于 WebAPI 的 AttributeRouting NuGet 包,并且在我的控制器中出现了问题。我认为使用它的方法是有类似的东西:

但是我收到以下错误:错误 2 'System.Web.Http.HttpGetAttribute' 不包含采用 1 个参数的构造函数

我需要尽快启动并运行它。HttpGet 属性没有重载构造函数有什么原因吗?

更新

在路线:

当我点击 'api/inbox/EnquiryCount' 的 URL 时,我收到此错误:

0 投票
1 回答
362 浏览

asp.net-web-api - 属性路由 限制路由

我正在为 WebApi 使用http://attributerouting.net/ nuget 包。这是我的两个 GET 方法和路由属性,用于列表和特定项目:

但在生成的帮助 URI 中,显示了三个 GET 选项。

即使“id”不是第一个 GET 方法的参数。如何消除末尾带有“?id = {id}”的中间URI?我想我需要某种约束,但我无法从文档站点中弄清楚。

0 投票
5 回答
36911 浏览

c# - MVC 属性路由不起作用

我对 MVC 框架比较陌生,但我确实有一个功能正常的 Web 项目,它带有一个使用 AttributeRouting(NuGet 包)的 API 控制器 - 但是,我正在启动另一个项目,它只是不想遵循我输入的路线地方。

控制器:

AttributeRoutingConfig.cs

全球.asax.cs:

// 注意:有关启用 IIS6 或 IIS7 经典模式的说明,// 访问http://go.microsoft.com/?LinkId=9394801

当我尝试导航到 /api/q/users - 我收到 404 not found 错误。如果我将路由更改为“/api/blazr/users” - 我会收到有关多个操作的错误,并且无法确定要采取的操作。

任何帮助表示赞赏 - 我真的只需要一点点推即可找出问题所在,无需为我完全解决它(我需要学习!)

谢谢

编辑

路线.axd:

0 投票
1 回答
1498 浏览

asp.net-web-api - webapi 中的属性路由限制

在属性路由的文档中,有一系列警告说“匹配路由时的性能增强”不起作用。他们在谈论什么样的性能增强,这对于基于生产的系统中的性能意味着什么 - 它是否足够重要以至于不考虑在生产系统上进行属性路由?

关于自定义路由处理程序和查询字符串参数约束的更多细节怎么样?“自定义”是什么意思,对于查询字符串约束,是对数据类型的约束吗?

我想更多地了解这一点,并衡量它在我的用例中的影响,以判断 web-api 的属性路由包是否适合我的生产 api。

0 投票
1 回答
3111 浏览

c# - 如何使用查询字符串指定路由?

我正在尝试添加AttributeRouting到我的 WebAPI 项目中。

在一个控制器上,我目前定义了三个 GET 方法:

前两条路线按我的预期工作,但第三条路线总是返回405 METHOD NOT ALLOWED

我已经尝试在 URL 和查询字符串中发送参数,并且两者的响应相同。当我尝试查询字符串版本时,我已将路线修改为

我还尝试将初始单词 from 更改dictionariesdictionary以避免与其他两个 GET 路由产生任何歧义,但仍然没有成功。

AttributeRouting的文档只提到了与参数约束相关的查询字符串(由于 WebHost 框架,我无法使用这些查询字符串)并且没有提到如何在路由中使用查询字符串。

谁能告诉我如何使用这两个参数实现第三条路线,还是我必须放弃 AttributeRouting 或尝试自己的控制器?

0 投票
1 回答
163 浏览

c# - How do I consume a custom route using attributerouting?

I have a bunch of custom routes defined using AttributeRouting. I have a function in a controller that is trying to access one of these API functions at /api/GetBatchItems.

GetBatchItems is a function of the controller APIController, similar to:

In another controller, I am trying to get the result. When browsing directly everything is fine if I do it this way, but I want to be able to use my already defined route, is there a way to do that? I saw someone mention HttpAttributeRoutingConfiguration but I could not find that class anywhere. I don't want to have to use the MapHttpRoute method this way...

0 投票
1 回答
2228 浏览

asp.net-web-api - 405 使用 AttributeRouting.PUTAttribute 除非我还包括 HttpPutAttribute

我们有一个 MVC 项目,我正在尝试更新以包含 WebApi。为了获得所需的路由,我们使用 AttributeRouting。除了返回 405 的 [PUT] 之外,所有呼叫似乎都正确路由。我已经简化了控制器和操作,并且仍然收到 [PUT] 的错误,除非我也包含 [HttpPut]。不知道我错过了什么。

AttributeRouting.Core、AttributeRouting.Core.Http、AttributeRouting.Core.Web、AttributeRouting.WebApi 3.5.6 版

MVC4

未安装 WebDAV。

0 投票
1 回答
2974 浏览

asp.net-mvc - 带有 GET 的 MVC AttributeRouting - 返回 405 - 方法不允许

我一直在研究一种新的控制器操作方法,我有点困惑为什么我会看到 405。

我已经在我的 API 上定义了几个 GET 属性方法,它们都按预期运行。例如,这很好用:

然而我的新方法是这样定义的:

正在返回 405

如果我访问 API 上的 routes.axd url,我可以在表中看到如下条目:

这一切看起来都是正确的。在客户端,我使用 HttpClient 对两个请求使用相同的方法:

从 Fiddler 运行 get 也会返回 405。

即使查看响应中的 RequestMessage 看起来也是正确的:

完全被这件事难住了。

我还能尝试什么来弄清楚出了什么问题?

0 投票
2 回答
2976 浏览

.net - 如何使用主干单页应用程序在 MVC4 中测试 AntiForgeryToken

我在让 Microsoft 的 MVC[ValidateAntiForgeryToken]与使用 Marionette & Backbone 编写的单页应用程序 (SPA) 一起工作时遇到问题。问题似乎是 MVC[ValidateAntiForgeryToken]方法无法看到我们作为 JSON 的一部分发送的令牌。我们认为这是因为令牌必须在回复的表单部分中,但 MrOggy85 说这不是问题(请参阅下面的答案)。

代码在我的 api 控制器中,它使用AttributeRouting,我们认为这是导致问题的原因。一个典型的动作如下所示:

有没有其他人克服过这个?很多谷歌搜索发现了帖子中的评论“ ASP.NET MVC 通过 AntiForgery 类和 [ValidateAntiForgeryToken] 属性提供了对防伪令牌的内置支持。目前,此功能未内置在 Web API 中。但是, (KnockoutJS) 模板包括 Web API 的自定义实现。 ”。这表明他们自己编写,我可以做到。

有没有其他人遇到过这个问题,如果是这样,您是如何解决的?我是否遗漏了一些明显的东西,还是应该只编写自己的 ValidateAntiForgeryToken 方法?您的意见将不胜感激。

更新

@MrOggy85 提供的很棒的 stackoverflow 链接,其中包含更多信息。请参阅使用 $.ajax 发布 JSON 数据时如何提供 AntiForgeryToken?. 我计划编写自己的 AntiForgery 测试,并在完成后发布。

0 投票
1 回答
200 浏览

asp.net - AttributeRouting 强制参数

我可以向所有控制器添加强制参数吗?我开发 RESTful api,所以我想为每条路线都需要特殊的“apikey”参数。

但我不想为每种方法手动完成。