web-dev-qa-db-fra.com

Désactiver "Essayez-le" dans Swagger

Cette question a été posée beaucoup pour différentes langues. Après une quantité substantielle de (sans fruit), je me sens plutôt stupide, mais je vais demander quand même

Ce document fait référence à l'ajout d'un plugin Swagger dans ce qui semble être JavaScript https://github.com/swagger-api/swagger-ui/issues/3725

J'ai essayé d'ajouter ce code comme une ressource JavaScript injectée:

c.InjectJavaScript(thisAssembly, "MyProject.Scripts.swagger-plugins.js");

Le code dans le fichier .js est

const DisableTryItOutPlugin = function() {
    return {
        statePlugins: {
            spec: {
                wrapSelectors: {
                    allowTryItOutFor: () => () => false
                }
            }
        }
    }
}

const DisableAuthorizePlugin = function () {
    return {
        wrapComponents: {
            AuthorizeBtn: () => () => null
        }
    }
}

SwaggerUI({
    plugins: [
        DisableTryItOutPlugin,
        DisableAuthorizePlugin
    ]
})

Cela n'a rien obtenu et je n'ai aucune idée où aller ensuite.

7
Jimbo

Vous pouvez essayer avec ces lignes dans la méthode de configuration dans le fichier startup.cs

app.UseSwaggerUI(c =>
              {
                  if (!env.IsDevelopment())
                     c.SupportedSubmitMethods(new SubmitMethod[] { });

                  c.SwaggerEndpoint("/swagger/swagger.json", "API");
              });
1
Juampi Ferrero

Essayez simplement de désactiver/masquer directement les boutons correspondants:

$(() => {
    $('.tryitout').prop('disabled', true);
})
0
Slava Utesinov