gpt4 book ai didi

asp.net-web-api - Web API 帮助页面始终为空

转载 作者:行者123 更新时间:2023-12-02 04:18:56 24 4
gpt4 key购买 nike

我添加了帮助页面 Nuget 包来为我的 Web API 创建文档,但它对我不起作用,没有显示 API 方法。

我取消注释行:

config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")));

我选中了 XML 文档文件复选框并将路径设置为 App_Data/XmlDocument.xml

我不使用 Glimpse,因为这里有很多解决方案都提到它。

我什至安装了 nuget 包以获取授权的帮助页面,但没有帮助

这有什么问题吗?如果我启动空项目,那么它工作正常,但这个 API 太大,无法重新开始。

最佳答案

如果您使用 OWIN 作为中间件(就像我一样),您可能会在其启动方法中初始化一个新的 HttpConfiguration 。问题在于 HelpControllerHelpPageConfig 使用的是 GlobalConfiguration.Configuration,这似乎是错误的。对我有什么帮助:

第 1 步:将启动 HttpConfiguration 设为静态字段

[assembly: OwinStartup(typeof(MyProject.API.Startup))]
namespace MyProject.API
{
public class Startup
{
//new
public static HttpConfiguration HttpCfg;
//

public void Configuration(IAppBuilder app)
{
HttpCfg = new HttpConfiguration();
WebApiConfig.Register(HttpCfg);
app.UseWebApi(HttpCfg);

AreaRegistration.RegisterAllAreas();
}
}
}

第 2 步:转到 HelpPageAreaRegistration 并像这样编辑 RegisterArea 方法

public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"HelpPage_Default",
"Help/{action}/{apiId}",
new { controller = "Help", action = "Index", apiId = UrlParameter.Optional });

//old
//HelpPageConfig.Register(GlobalConfiguration.Configuration);

//new
HelpPageConfig.Register(Startup.HttpCfg);
}

第 3 步:转到 HelpController 并像这样编辑标准构造函数

//old
//public HelpController() : this(GlobalConfiguration.Configuration){ }

//new
public HelpController() : this(Startup.HttpCfg){ }

我希望这能有所帮助,而且还为时不晚;)

关于asp.net-web-api - Web API 帮助页面始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31182234/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com