我已经创建了Web API并使用VS部署到Azure。 API在该Web App中发布/托管。我想将该API(Web App)导入APIM,但我只看到选择“Logic App”,“API App”和“Function App”的选项。 Web App没有任何内容。我们可以将该Web应用程序导入APIM吗?
谢谢Sakaldeep
没有。直接你不能。但是通过选择空白API选项获取URL并进行配置,或者修改代码并获取Swagger文件并导入它。
步骤1-添加SWAGGER(OPEN API接口)第一步是添加swagger,它是一个开放的API接口,可以在API管理中导入。为了首先添加swagger,我们必须在现有的应用程序中安装NuGet包。
步骤2-编辑启动类以在我们的应用程序中使用SWAGGER导航到Startup.cs或Startup类(如果已将其自定义为其他名称)并更改ConfigureServices和Configure方法以将Swagger添加到WebAPI应用程序,如以下两种方法。
配置服务:
public void ConfigureServices(IServiceCollection services) { 。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 APP SERVICE中发布这些更改
第4步 - 将APIS添加到API管理