问题标签 [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.
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
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 中进行的
上面的链接提供了一个完整的例子。
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}
是什么导致我的某些路线找不到?
c#-4.0 - 如何使用 GetApiExplorer() 获取控制器名称和自定义控制器中可用的数据
嗨我有BaseController : ApiController
和TestController : BaseController
如何获取控制器名称和TestController的相关详细信息
使用下面的代码
我可以获得详细信息(ApiDescriptions)BaseController
如何获取TestController的详细信息( ApiDescriptions)?
asp.net-web-api - 属性路由 限制路由
我正在为 WebApi 使用http://attributerouting.net/ nuget 包。这是我的两个 GET 方法和路由属性,用于列表和特定项目:
但在生成的帮助 URI 中,显示了三个 GET 选项。
即使“id”不是第一个 GET 方法的参数。如何消除末尾带有“?id = {id}”的中间URI?我想我需要某种约束,但我无法从文档站点中弄清楚。
asp.net-web-api - WebApi ApiExplorer ApiExplorerSettingsAttribute 和 IgnoreApi 用于操作参数
您可以使用ApiExplorerSettingsAttribute将IgnoreApi
属性设置为不生成帮助信息来装饰控制器或操作方法。如果您尝试将其应用于操作方法的属性,则会出现错误:
错误 2 属性“ApiExplorerSettings”在此声明类型上无效。它仅对“类、方法”声明有效。
保持控制器操作可测试的一个常见约定是接受一个HttpRequestMessage
参数,但这是一个实现细节,而不是您的 API 使用者应该知道的事情。
如何防止 ApiExplorer 在生成帮助页面时包含此参数?
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 为其生成参数文档?
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 中。
我是以错误的方式接近这个吗?有谁知道解决方法?
任何建议或解决方案将不胜感激。
asp.net-web-api - Web Api - 使用 ApiExplorer 自动生成请求样本
有没有办法让 ApiExplorer 自动生成请求样本?
我尝试使用:
在 HelpPageConfig.cs 中,但出现了 2 个问题:
它要求我为特定的控制器和操作定义特定的类型,并且我正在寻找更通用的东西,如果添加了新的控制器\类型,则不需要添加\更改代码。
每个控制器\动作我只能使用一种类型,因此我无法为在其请求正文中接收 2 种复合类型的动作生成完整的请求样本。
关于如何解决\解决这些问题的任何想法?
asp.net-web-api - WebAPI APIExplorer 文档没有收到我的摘要评论
使用http://www.asp.net/web-api/overview/creating-web-apis/creating-api-help-pages文档指南并将这些应用于每个公共 API 控制器
但不知何故,我的摘要评论都没有被 XML 生成器 ApiExplorer 拾取。
有什么想法吗??