Как я могу изменить заголовок информации по умолчанию, созданный nswag? - PullRequest
2 голосов
/ 07 апреля 2020

Я использую NSwag для. NET Core 3.1. Все работает правильно.

Я не могу определить, как изменить «Мой заголовок» (который является информационным заголовком) на что-то другое.

Вот страница чванства:

swagger info title

Вот мой регистрационный код:

app.UseOpenApi();
app.UseSwaggerUi3(c => c.DocumentTitle = "My Api");

Любая помощь очень ценится. Спасибо!

Ответы [ 2 ]

2 голосов
/ 14 апреля 2020

Нет необходимости в PostProcess, просто установите свойство Title при вызове AddSwaggerDocument

public void ConfigureServices(IServiceCollection services)
{
    services.AddSwaggerDocument(settings =>
    {
        settings.Title = "My Own Title";
    });
}
1 голос
/ 07 апреля 2020

Насколько я знаю, если вы хотите изменить nswagtitle. Вам следует изменить настройку конфигурации AddSwaggerDocument в методе ConfigureServices, как показано ниже:

Подробности, которые можно ссылаться на следующие коды:

        services.AddSwaggerDocument(config =>
        {
            config.PostProcess = document =>
            {
                //document.Info.Version = "v1";
                document.Info.Title = "ToDo API";
                //document.Info.Description = "A simple ASP.NET Core web API";
                //document.Info.TermsOfService = "None";
                //document.Info.Contact = new NSwag.OpenApiContact
                //{
                //    Name = "Shayne Boyer",
                //    Email = string.Empty,
                //    Url = "https://twitter.com/spboyer"
                //};
                //document.Info.License = new NSwag.OpenApiLicense
                //{
                //    Name = "Use under LICX",
                //    Url = "https://example.com/license"
                //};
            };

        });

Подробности коды startup.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authentication.Negotiate;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

namespace CoreNormalIssue
{
    public class Startup
    {
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {

            services.AddAuthentication(NegotiateDefaults.AuthenticationScheme)
 .AddNegotiate();
            services.AddControllersWithViews();

            services.AddSwaggerDocument(config =>
            {
                config.PostProcess = document =>
                {
                    //document.Info.Version = "v1";
                    document.Info.Title = "ToDo API";
                    //document.Info.Description = "A simple ASP.NET Core web API";
                    //document.Info.TermsOfService = "None";
                    //document.Info.Contact = new NSwag.OpenApiContact
                    //{
                    //    Name = "Shayne Boyer",
                    //    Email = string.Empty,
                    //    Url = "https://twitter.com/spboyer"
                    //};
                    //document.Info.License = new NSwag.OpenApiLicense
                    //{
                    //    Name = "Use under LICX",
                    //    Url = "https://example.com/license"
                    //};
                };
            });


        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            app.UseStaticFiles();
            app.UseRouting();
            app.UseAuthorization();
            app.UseOpenApi();
            app.UseSwaggerUi3();




            app.UseEndpoints(endpoints =>
            {               
                endpoints.MapControllerRoute(
                        name: "default",
                        pattern: "{controller=Default}/{action=Index}/{id?}");             
            });
        }
    }
}

Результат:

enter image description here

...