我们可以将发布到 Azure Web App 中的 .net 核心 API 导入到 APIM 中吗?
Can we import .net core API that is published into Azure Web App into APIM
我已经创建了 Web API 并使用 VS 部署到 Azure。该 Web 应用程序中的 API 是 published/hosted。我想将 API(网络应用程序)导入 APIM,但我只看到可供选择的选项是
- 'Logic App'
- 'API App' 和
- 'Function App'
没有 Web App。我们可以将该 Web 应用程序导入 APIM 吗?
没有。直接你不能。但是获取 url 并通过选择空白 API 选项进行配置或修改代码并获取 Swagger 文件并导入它。
第 1 步 - 添加 SWAGGER(打开 API 界面)
第一步是添加 swagger,它是一个开放的 API 接口,可以在 API 管理中导入。为了首先添加 swagger,我们必须在现有应用程序中安装 NuGet 包。
第 2 步 - 编辑启动 CLASS 以在我们的应用程序中适应 SWAGGER
导航到 Startup.cs 或您的 Startup class 如果您已将其自定义为不同的名称并更改 ConfigureServices 和 Configure 方法以将 Swagger 添加到您的 WebAPI 应用程序,如以下两种方法。
配置服务:
public void ConfigureServices(IServiceCollection 服务)
{
services.AddMvc().SetCompatibilityVersion(兼容性版本.Version_2_1);
// Register the Swagger generator, defining 1 or more Swagger documents
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
});
// Register the Swagger generator, defining 1 or more Swagger documents
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("MyApi", new Info
{
Version = "v1",
Title = "My API",
Description = "A simple example ASP.NET Core Web API",
TermsOfService = "None",
Contact = new Contact
{
Name = "mfouad",
Email = string.Empty,
Url = ""
},
License = new License
{
Name = "Use under LICX",
Url = "https://example.com/license"
}
});
});
}
并配置:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
// Enable middleware to serve generated Swagger as a JSON endpoint.
app.UseSwagger();
// Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.),
// specifying the Swagger JSON endpoint.
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
app.UseHttpsRedirection();
app.UseMvc();
}
第 3 步 - 在 AZURE 应用程序服务中发布这些更改
右键单击该项目并select发布以将新更改添加到应用程序服务。
Select 和现有应用服务,如果不存在应用服务则创建新应用服务
将其发布到应用服务。
发布后确保 http://{ YourAppServiceName }.azurewebsites.net/swagger 加载 API 界面页面
导航到 https://{YourAppServiceName}.azurewebsites.net/swagger/v1/swagger.json
第 4 步 - 将 APIS 添加到 API 管理
- 导航到 Azure
中的 API 管理资源
- Select 来自 left-hand 窗格 APIs
- 点击打开API
- 您将看到一个表格供您填写,您可以下载
json 文件到本地机器并使用 swagger 验证它
编辑器工具,如果导入该文件有任何问题,它可以提供
在上传之前,您对要修复的项目提出了建议。
- 按以下形式添加Swagger.json端点或文件,然后单击创建。
- 将您的 API 端点添加到 API 管理点击设置
功能区并在网络服务 URL 字段中添加您的应用服务 URL
如下图
- 在 API 管理中通过单击测试来测试您的 APIs
功能区并选择 API 之一发送示例请求
根据下图。
我已经创建了 Web API 并使用 VS 部署到 Azure。该 Web 应用程序中的 API 是 published/hosted。我想将 API(网络应用程序)导入 APIM,但我只看到可供选择的选项是
- 'Logic App'
- 'API App' 和
- 'Function App'
没有 Web App。我们可以将该 Web 应用程序导入 APIM 吗?
没有。直接你不能。但是获取 url 并通过选择空白 API 选项进行配置或修改代码并获取 Swagger 文件并导入它。
第 1 步 - 添加 SWAGGER(打开 API 界面) 第一步是添加 swagger,它是一个开放的 API 接口,可以在 API 管理中导入。为了首先添加 swagger,我们必须在现有应用程序中安装 NuGet 包。
第 2 步 - 编辑启动 CLASS 以在我们的应用程序中适应 SWAGGER 导航到 Startup.cs 或您的 Startup class 如果您已将其自定义为不同的名称并更改 ConfigureServices 和 Configure 方法以将 Swagger 添加到您的 WebAPI 应用程序,如以下两种方法。
配置服务:
public void ConfigureServices(IServiceCollection 服务)
{
services.AddMvc().SetCompatibilityVersion(兼容性版本.Version_2_1);
// Register the Swagger generator, defining 1 or more Swagger documents
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
});
// Register the Swagger generator, defining 1 or more Swagger documents
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("MyApi", new Info
{
Version = "v1",
Title = "My API",
Description = "A simple example ASP.NET Core Web API",
TermsOfService = "None",
Contact = new Contact
{
Name = "mfouad",
Email = string.Empty,
Url = ""
},
License = new License
{
Name = "Use under LICX",
Url = "https://example.com/license"
}
});
});
}
并配置:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
// Enable middleware to serve generated Swagger as a JSON endpoint.
app.UseSwagger();
// Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.),
// specifying the Swagger JSON endpoint.
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
app.UseHttpsRedirection();
app.UseMvc();
}
第 3 步 - 在 AZURE 应用程序服务中发布这些更改
右键单击该项目并select发布以将新更改添加到应用程序服务。
Select 和现有应用服务,如果不存在应用服务则创建新应用服务
将其发布到应用服务。
发布后确保 http://{ YourAppServiceName }.azurewebsites.net/swagger 加载 API 界面页面
导航到 https://{YourAppServiceName}.azurewebsites.net/swagger/v1/swagger.json
第 4 步 - 将 APIS 添加到 API 管理
- 导航到 Azure 中的 API 管理资源
- Select 来自 left-hand 窗格 APIs
- 点击打开API
- 您将看到一个表格供您填写,您可以下载 json 文件到本地机器并使用 swagger 验证它 编辑器工具,如果导入该文件有任何问题,它可以提供 在上传之前,您对要修复的项目提出了建议。
- 按以下形式添加Swagger.json端点或文件,然后单击创建。
- 将您的 API 端点添加到 API 管理点击设置 功能区并在网络服务 URL 字段中添加您的应用服务 URL 如下图
- 在 API 管理中通过单击测试来测试您的 APIs 功能区并选择 API 之一发送示例请求 根据下图。