我已创建Web API并使用VS部署到Azure。该API在该Web应用程序内部发布/托管。我想将该API(Web App)导入APIM,但是我只看到选择的选项是“ Logic App”,“ API App”和“ Function App”。 Web App没有任何内容。我们可以将该Web应用导入APIM吗?
谢谢 萨卡迪普
答案 0 :(得分:0)
否。直接,你不能。但是,通过选择空白API选项来获取url并进行配置,或者修改代码并获取Swagger文件并导入。
答案 1 :(得分:0)
第1步-添加SWAGGER(OPEN API接口) 第一步是添加swagger,这是一个开放的API接口,可以将其导入API管理中。为了首先添加大手笔,我们必须在现有应用程序中安装一个N uGet软件包。
第2步-编辑启动类,以便在我们的应用程序中使用杂项 如果已将其自定义为其他名称,则导航到Startup.cs或Startup类,然后更改ConfigureServices和Configure方法以将Swagger添加到WebAPI App中,如以下两种方法。
配置服务:
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 App服务中发布这些更改
右键单击项目,然后选择“发布”以将新更改添加到App服务。
选择并存在或创建新的App服务(如果不存在任何App Service)
将其发布到App Service。
一旦发布,请确保http:// {YourAppServiceName} .azurewebsites.net / swagger加载API接口页面
导航至https:// {YourAppServiceName} .azurewebsites.net / swagger / v1 / swagger.json
第4步-将API添加到API管理