繁体   English   中英

如何包含用 ASP.NET 编写的 API 的起始页?

[英]How to include an start-page for an API written in ASP.NET?

我继承了一个相当未公开的 Visual Studio API 项目,其中包含许多子项目,其中一个称为API ,我假设我正在查看的是 ASP.net。

项目结构

背景

我一直在使用使用不同技术和框架(perl、cgi、python、flask,仅举几例)构建的 API,但我是新的 ASP.net。 经过几天的研究,我让 API 在 Visual Studio (VS) 中运行,并且它还与 UI 对话。

挑战

由于我在 VS 中有两个启动项目,因此在 VS、UI 和 API 中点击启动时会打开两个浏览器窗口。 UI 做了它应该做的事情,但是带有 API 的浏览器显示了这样的 HTTP 404 错误

404错误

这意味着我可能定义了各种端点/foo/bar ,但没有/ 我怎么做? 理想情况下,它应该返回一个带有 API-(子)项目名称和当前版本的 json。

我到目前为止的方法

为了自己解决问题,我缺少正确的 ASP.net 搜索词。 我什至在努力实施解决方法以在/处提供纯 HTML 文件。 项目树中的index.html在哪里? 我尝试了根文件夹以及名为public的文件夹,但两者都不起作用,我一直收到 404 错误。

非常感激你的帮助!

您在这里有两个选项,用于自动记录您的端点。

  1. 使用可能包含在 Visual Studio 项目模板中的HelpPage
  2. 使用swashbuckle nuget 包安装 swagger

如果您选择选项 1,那么您可能需要使用项目模板并选择适合的模板。 然后,您应该将所有现有代码复制到新项目模板中。

Swagger现在似乎更受欢迎,因此您应该尝试一下,特别是如果您正在处理现代代码库。 您可以向控制器端点添加 XML 注释,它们将显示在您的 swagger 页面http:/localhost/swagger/ui/index 您将需要安装 nuget 包并按照教程进行操作。

假设您在根目录中创建了一个index.html文件,为了获得显示为(子)项目起始页的文件,请在解决方案资源管理器中右键单击该项目,选择Properties 将弹出一个新视图,您可以在其中定义Web > Start Action以指向您输入index.html特定页面(而不是当前页面)。 CTRL+S保存,然后启动项目。

API 属性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM