【问题标题】:How can i add an API in an ASP.NET Core Web App如何在 ASP.NET Core Web 应用程序中添加 API
【发布时间】:2021-06-18 05:41:40
【问题描述】:

我在 Visual Studio 中创建了一个“ASP.NET Core Web App”项目。

我想在这个项目中添加一个 API 吗?我可以创建一个单独的 Web API 项目,但我想将所有内容放在同一个项目中。

有可能吗?

谢谢

【问题讨论】:

  • Is it possible ? - 是的。
  • 您是否打算创建 Razor Pages 项目? Blazor 又从何而来?
  • 不是,这不是“Razor Pages”项目,而是“ASP.NET Core Web App”
  • 正如 Henk 所问的,Blazor 适合哪些领域?如果它确实适合,它是 WebAssembly 还是服务器端?您的问题的答案将取决于这些细节。
  • 这不是 Blazor 项目。这是一个 ASP.Net Core Web 应用程序。所以它是一个完整的服务器应用程序

标签: asp.net-core razor asp.net-core-webapi


【解决方案1】:

如果您想保留 Web 应用程序项目并添加一些 API 端点,您可以在项目根目录添加一个文件夹(例如 Api),您可以在其中放置您的 api 控制器。 然后在该文件夹中,您可以添加一个派生自ControllerBase 的类,并使用[ApiController] 属性和[Route] 属性对其进行装饰。

这需要在您的 Startup.cs 中配置控制器:

  1. 在ConfigureServices() 中添加对services.AddControllers(); 的呼叫
  2. 在Configure 中指定MapControllers() 选项:
app.UseEndpoints(endpoints => {
   // other code
   endpoints.MapControllers();
});

【讨论】:

    【解决方案2】:

    我建议您构建一个 API 解决方案,然后构建一个单独的 Core Web App 解决方案。

    否则,您可以尝试从“空白解决方案”开始,然后向其中添加不同的项目。

    【讨论】:

    • 我在这里得到了你的反对,破坏者 - CodeDonkey
    猜你喜欢
    • 2018-11-30
    • 1970-01-01
    • 2017-04-28
    • 2022-10-24
    • 1970-01-01
    • 2022-12-18
    • 1970-01-01
    • 1970-01-01
    • 2021-06-28
    相关资源
    最近更新 更多