feat(directory): add Swagger

This commit is contained in:
Collin M. Barrett 2020-09-07 20:51:18 -05:00
parent 5c7d563c30
commit 5286a861e4
4 changed files with 12 additions and 2 deletions

2
.github/README.md vendored
View file

@ -14,7 +14,7 @@
<a href="https://github.com/users/collinbarrett/packages/container/filterlists-web"><img src="https://img.shields.io/badge/docker%20image-filterlists--web-blue" alt="FilterLists Web - Docker Image" /></a>
<br/>A React & TypeScript UI built with Ant Design.</p>
<p align="center"><b>Directory API:</b> <a href="https://filterlists.com/api/lists"><img src="https://img.shields.io/website-up-down-green-red/http/shields.io.svg?label=Directory%20API" alt="Directory API" /></a>
<p align="center"><b>Directory API:</b> <a href="https://filterlists.com/api"><img src="https://img.shields.io/website-up-down-green-red/http/shields.io.svg?label=Directory%20API" alt="Directory API" /></a>
<a href="https://dev.azure.com/collinbarrett/FilterLists/_build/latest?definitionId=27"><img src="https://dev.azure.com/collinbarrett/FilterLists/_apis/build/status/Directory%20API?branchName=master" alt="FilterLists Directory API - Azure DevOps builds" /></a>
<a href="https://dev.azure.com/collinbarrett/FilterLists/_release?definitionId=3"><img src="https://vsrm.dev.azure.com/collinbarrett/_apis/public/Release/badge/b06a3d5c-459e-4789-9735-0f5969006fe8/3/4" alt="FilterLists Directory API - Azure DevOps releases" /></a>
<a href="https://github.com/users/collinbarrett/packages/container/filterlists-directory-api"><img src="https://img.shields.io/badge/docker%20image-filterlists--directory--api-blue" alt="FilterLists Directory API - Docker Image" /></a>

View file

@ -36,6 +36,7 @@
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.9" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.5.1" />
</ItemGroup>
<ItemGroup>

View file

@ -4,6 +4,7 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.OpenApi.Models;
namespace FilterLists.Directory.Api
{
@ -20,6 +21,8 @@ public void ConfigureServices(IServiceCollection services)
{
services.AddControllers()
.AddJsonOptions(o => o.JsonSerializerOptions.IgnoreNullValues = true);
services.AddSwaggerGen(c =>
c.SwaggerDoc("v1", new OpenApiInfo {Title = "FilterLists Directory API", Version = "v1"}));
services.AddApplicationServices(Configuration);
}
@ -27,6 +30,12 @@ public static void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
app.UseDeveloperExceptionPage();
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("swagger/v1/swagger.json", "FilterLists Directory API V1");
c.RoutePrefix = string.Empty;
});
app.UseRouting();
app.UseEndpoints(e => { e.MapControllers(); });
}

View file

@ -136,7 +136,7 @@ const GitHub = () => (
const Api = () => (
<Tag>
<a
href="/api/lists"
href="/api"
title="FilterLists API lists endpoint"
target="_blank"
rel="noopener noreferrer"