问题标签 [asp.net-mvc-apiexplorer]

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 投票
3 回答
8398 浏览

c# - ASP.Net Web Api - ApiExplorer 不包含任何 ApiDescriptions

我正在尝试在我的 Web 服务的控制器中实现 Options 方法,该方法将返回一条消息,其中包含与控制器关联的 URI 端点的有效 HTTP 方法。我的 Options 方法如下所示:

我已经在一个带有 Get、Post 和 Delete 方法的控制器内部的全新 Web Api 项目(含义:未更改的路由)中尝试了上述方法。正如预期的那样,返回“允许:GET、POST、DELETE”的响应。但是,我遇到了麻烦,将其添加到我正在处理的更大项目中。在较大的项目中,ApiExplorer 中的 ApiDescriptions 列表不包含任何元素。为什么是这样?我怀疑这是由于已实施的自定义路由,尽管这种怀疑的唯一依据是以下链接:

http://forums.asp.net/t/1821651.aspx/1

有没有其他人经历过这个空的 ApiDescription 列表?如果是这样,你找到补救措施了吗?

注意:我使用的是 MCV 4 RC

0 投票
1 回答
3792 浏览

asp.net - ASP.NET Web API:在 ApiExplorer 上调用 ApiDescriptions 抛出:在应用程序的预启动初始化阶段无法调用此方法

基于这篇博文http://codebetter.com/johnvpetersen/2012/08/01/documenting-your-asp-net-web-apis/我正在写一个“文档控制器”,就像它在上面的链接。但是,当我拨打以下电话时

我收到一个InvalidOperationException说明:“在应用程序的预启动初始化阶段无法调用此方法。 ”。我看过ASP.NET:在应用程序的预启动初始化阶段无法调用此方法,但这并没有为我解决。我在 ASP.NET Web API 4.20710.0 上,这是 NuGet 的最新版本(是吗?)。

有人愿意在这个问题上为我提供一些帮助吗?是f.ex吗?可以在调用 ApiDescriptions 之前强制完成预启动初始化阶段吗?或者它可以以另一种方式进行吗?

感谢您的任何意见!

编辑

调用是从 GET 中进行的

上面的链接提供了一个完整的例子。

0 投票
2 回答
3158 浏览

asp.net-mvc - MVC.ApiExplorer 未发现的有效路由

使用ASP.NET Web API 帮助页面和相关的MVC.ApiExplorer 时,我有可通过 http 访问但 ApiExplorer 未发现的有效路由。只有在使用通用路由规则时才能找到这些路由。使用更具体的规则(与一般规则一起)似乎隐藏了 ApiExplorer 的路线。

在三个规则的示例情况下,两条路由与控制器方法上的 GET 和 POST 操作相关,它们不采用查询参数进入 MIA。

使用路由规则时

路由由 Api Explorer 适当地发现为

  • 发布:api/SomeController
  • 获取:api/SomeController
  • 获取:api/SomeController/{id}

然而,当添加不太通用且更有意义的规则时

Api Explorer 只返回

  • 获取:api/somecontroller/{id}

是什么导致我的某些路线找不到?

编辑 ApiExplorer 项目页面上问题报告的链接

0 投票
1 回答
847 浏览

c#-4.0 - 如何使用 GetApiExplorer() 获取控制器名称和自定义控制器中可用的数据

嗨我有BaseController : ApiController

TestController : BaseController

如何获取控制器名称和TestController的相关详细信息

使用下面的代码

我可以获得详细信息(ApiDescriptionsBaseController

如何获取TestController的详细信息( ApiDescriptions)?

0 投票
1 回答
362 浏览

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

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

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

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

0 投票
1 回答
1912 浏览

asp.net-web-api - WebApi ApiExplorer ApiExplorerSettingsAttribute 和 IgnoreApi 用于操作参数

您可以使用ApiExplorerSettingsAttributeIgnoreApi属性设置为不生成帮助信息来装饰控制器或操作方法。如果您尝试将其应用于操作方法的属性,则会出现错误:

错误 2 属性“ApiExplorerSettings”在此声明类型上无效。它仅对“类、方法”声明有效。

保持控制器操作可测试的一个常见约定是接受一个HttpRequestMessage参数,但这是一个实现细节,而不是您的 API 使用者应该知道的事情。

如何防止 ApiExplorer 在生成帮助页面时包含此参数?

0 投票
0 回答
1657 浏览

c# - Web API、模型绑定、[FromUri] 和 WebApiExplorer 不能很好地配合使用

我有一个相当简单的 web api 项目,并且在 CustomerController 中有以下方法:

这适用于模型绑定,当用户在 URL 中键入适当的值时,会填充我的 UpdatePasswordWithUserCodeCriteria passwordChangeRequest 变量。

但是,我的帮助文档(使用 ApiExplorer 生成)从未见过这种复杂类型,也没有记录它。我在以下页面上找到了“设置自定义示例”这个区域:http: //blogs.msdn.com/b/yaohuang1/archive/2012/10/13/asp-net-web-api-help-page-part- 2-提供-自定义-样本-on-the-help-page.aspx

在我的 HelpPageConfig.cs 文件中,我有:

除非我取出参数的 [FromUri] 属性,否则这不会生成参数的文档。当我删除 [FromUri] 时,ApiExplorer 会正确生成带有参数的帮助文档,但是模型绑定不适用于参数:

如何让模型绑定适用于此请求web Api Explorer 为其生成参数文档?

0 投票
2 回答
16893 浏览

c# - ASP.NET Web API 从模型生成所有参数 - 帮助页面

我正忙于创建一个 Web API(在一个 asp mvc4 应用程序中)。我正在使用 asp.net 站点上建议的库来生成文档(http://www.asp.net/web-api/overview/creating-web-apis/creating-api-help-pages)。

我的问题是,如果我的参数是模型,那么我无法在生成的帮助页面中指定模型包含的属性。

这是一个例子:

模型:

行动:

仅生成模型的参数。

我查看了为文档生成的 xml 文档,它确实添加了其他参数。

但是在帮助页面上它只生成参数模型。

我已经将其追溯到从 xml 获取参数的方法。

它位于自动生成的 HelpPageConfigurationExtentions.cs 中。

我是以错误的方式接近这个吗?有谁知道解决方法?

任何建议或解决方案将不胜感激。

0 投票
1 回答
7195 浏览

asp.net-web-api - Web Api - 使用 ApiExplorer 自动生成请求样本

有没有办法让 ApiExplorer 自动生成请求样本?

我尝试使用:

在 HelpPageConfig.cs 中,但出现了 2 个问题:

  1. 它要求我为特定的控制器和操作定义特定的类型,并且我正在寻找更通用的东西,如果添加了新的控制器\类型,则不需要添加\更改代码。

  2. 每个控制器\动作我只能使用一种类型,因此我无法为在其请求正文中接收 2 种复合类型的动作生成完整的请求样本。

关于如何解决\解决这些问题的任何想法?

0 投票
1 回答
1952 浏览

asp.net-web-api - WebAPI APIExplorer 文档没有收到我的摘要评论

使用http://www.asp.net/web-api/overview/creating-web-apis/creating-api-help-pages文档指南并将这些应用于每个公共 API 控制器

但不知何故,我的摘要评论都没有被 XML 生成器 ApiExplorer 拾取。

有什么想法吗??