【发布时间】:2019-07-21 02:57:22
【问题描述】:
我已经创建了 Web API 并使用 VS 部署到 Azure。 API 在该 Web 应用程序中发布/托管。我想将该 API(Web 应用程序)导入 APIM,但我只看到可供选择的选项是
- “逻辑应用”
- 'API 应用'和
- '功能应用'
Web 应用什么都没有。我们可以将该 Web 应用程序导入 APIM 吗?
【问题讨论】:
标签: azure api azure-api-management
我已经创建了 Web API 并使用 VS 部署到 Azure。 API 在该 Web 应用程序中发布/托管。我想将该 API(Web 应用程序)导入 APIM,但我只看到可供选择的选项是
Web 应用什么都没有。我们可以将该 Web 应用程序导入 APIM 吗?
【问题讨论】:
标签: azure api azure-api-management
没有。直接不行。但是通过选择空白 API 选项获取 url 并进行配置,或者修改代码并获取 Swagger 文件并导入它。
【讨论】:
第 1 步 - 添加 SWAGGER(开放 API 接口) 第一步是添加 swagger,它是一个开放的 API 接口,可以在 API 管理中导入。为了首先添加 swagger,我们必须在现有应用程序中安装 NuGet 包。
第 2 步 - 编辑 STARTUP 课程以适应我们的应用程序中的 SWAGGER 如果您已将其自定义为不同的名称,请导航到 Startup.cs 或您的 Startup 类,并更改 ConfigureServices 和 Configure 方法以将 Swagger 添加到您的 WebAPI 应用程序,如以下两种方法。
配置服务:
public void ConfigureServices(IServiceCollection 服务)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.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 应用服务中发布这些更改
右键单击项目并选择发布以将新更改添加到应用服务。
如果不存在应用服务,则选择并存在或创建新的应用服务
将其发布到应用服务。
一旦发布,请确保 http://{ YourAppServiceName }.azurewebsites.net/swagger 加载 API 接口页面
导航到 https://{YourAppServiceName}.azurewebsites.net/swagger/v1/swagger.json
第 4 步 - 将 API 添加到 API 管理
【讨论】: