Add OperationId to SwaggerGen

This commit is contained in:
crobibero 2020-05-08 08:40:37 -06:00
parent 6e1120c623
commit 2b1b9a64b6

View File

@ -2,6 +2,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Reflection;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using Jellyfin.Api; using Jellyfin.Api;
using Jellyfin.Api.Auth; using Jellyfin.Api.Auth;
@ -14,6 +15,7 @@ using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.OpenApi.Models; using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
namespace Jellyfin.Server.Extensions namespace Jellyfin.Server.Extensions
{ {
@ -112,6 +114,10 @@ namespace Jellyfin.Server.Extensions
// Order actions by route path, then by http method. // Order actions by route path, then by http method.
c.OrderActionsBy(description => c.OrderActionsBy(description =>
$"{description.ActionDescriptor.RouteValues["controller"]}_{description.HttpMethod}"); $"{description.ActionDescriptor.RouteValues["controller"]}_{description.HttpMethod}");
// Use method name as operationId
c.CustomOperationIds(description =>
description.TryGetMethodInfo(out MethodInfo methodInfo) ? methodInfo.Name : null);
}); });
} }
} }