Printemps de Démarrage + Swagger + personnalisé swagger-ui.html
J'ai des problèmes de la migration d'une guerre de l'application d'une source de démarrage jar de l'application.
Je suis en utilisant le printemps de démarrage 1.4.1 et swagger 2.6.0.
Pour personnaliser le style de l'interface utilisateur dans une guerre que vous avez à mettre un custom swagger-ui.html d' /webapp répertoire. Au printemps de démarrage, il n'est pas recommandé d'utiliser la webapp répertoire, car il ne fonctionne pas dans un groupés jar. Mais mettre un custom swagger-ui.html /ressources/static sera ignoré par swagger.
Est-il une solution simple (au lieu de l'ajout de l'ensemble de la supériorité de la distribution à ma demande)?
Mon personnalisée swagger-ui.html ressemble
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>API</title>
<link rel="icon" type="image/png" href="webjars/springfox-swagger-ui/images/favicon-32x32.png" sizes="32x32"/>
<link rel="icon" type="image/png" href="webjars/springfox-swagger-ui/images/favicon-16x16.png" sizes="16x16"/>
<link href='webjars/springfox-swagger-ui/css/typography.css' media='screen' rel='stylesheet' type='text/css'/>
<link href='webjars/springfox-swagger-ui/css/reset.css' media='screen' rel='stylesheet' type='text/css'/>
<link href='webjars/springfox-swagger-ui/css/screen.css' media='screen' rel='stylesheet' type='text/css'/>
<link href='webjars/springfox-swagger-ui/css/reset.css' media='print' rel='stylesheet' type='text/css'/>
<link href='webjars/springfox-swagger-ui/css/print.css' media='print' rel='stylesheet' type='text/css'/>
<script src='webjars/springfox-swagger-ui/lib/jquery-1.8.0.min.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/jquery.slideto.min.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/jquery.wiggle.min.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/jquery.ba-bbq.min.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/handlebars-2.0.0.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/underscore-min.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/backbone-min.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/swagger-ui.min.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/highlight.7.3.pack.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/jsoneditor.min.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/marked.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/lib/swagger-oauth.js' type='text/javascript'></script>
<script src='webjars/springfox-swagger-ui/springfox.js' type='text/javascript'></script>
<style>
.swagger-section #header {
background-color: #ff5722;
}
</style>
</head>
<body class="swagger-section">
<div id='header'>
<div class="swagger-ui-wrap">
<a id="logo" href="http://www.my-app.com">my-app.com API</a>
<form id='api_selector'>
<div class='input' style="display: none">
<select id="select_baseUrl" name="select_baseUrl"/>
</div>
<div class='input'><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl"
type="text"/>
</div>
<!--
<div class='input'><input placeholder="Enter authorization token" id="input_apiKey" name="apiKey" type="text"/></div>
<div class='input' style="display: none"><a id="explore" href="#" data-sw-translate>Explore</a></div>
-->
</form>
</div>
</div>
<script type="text/javascript">
function addApiKeyAuthorization() {
var key = $('#input_apiKey')[0].value;
console.log("key: " + key);
if (key && key.trim() != "") {
var apiKeyAuth = new SwaggerClient.ApiKeyAuthorization("Authorization", key, "header");
window.swaggerUi.api.clientAuthorizations.add("bearer", apiKeyAuth);
//window.authorizations.add("Authorization", new ApiKeyAuthorization("Authorization", key, "query"));
console.log("Set authorization token: " + key);
}
}
$('#input_apiKey').change(function () {
addApiKeyAuthorization();
});
</script>
<div id="message-bar" class="swagger-ui-wrap" data-sw-translate> </div>
<div id="swagger-ui-container" class="swagger-ui-wrap"></div>
</body>
</html>
Merci beaucoup, mais je ne veux pas d'une guerre de libération (seulement pour soutenir la webapp). Jusqu'à maintenant, le seul moyen semble être l'ajout de l'ensemble de l'interface utilisateur de distribution à partir de github.com/swagger-api/swagger-ui/tree/master/dist et de le personnaliser.
Pourquoi ne pas simplement de la fourche/copie springfox-swagger-l'interface utilisateur? C'est déjà un pré-emballés webjar.
J'ai sauté il y a une manière simple comme mettre un swagger-ui.html à la racine de la webapp.
OriginalL'auteur Lars Michaelis | 2016-10-11
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé ce moyen simple de personnaliser Swagger dans un Printemps de l'application de Démarrage avec seulement deux fichiers copiés à partir de l'original springfox-swagger-ui
Tout d'abord j'ai désactivé @Configuration de SwaggerConfig.java:
Puis j'ai étendu une WebMvcConfigurerAdapter:
Alors j'ai juste copié les fichier d'origine swagger-ui.html en src/main/resources/doc/v1/api.html avec juste une simple modification.
J'ai remplacé cette ligne:
avec cette ligne:
C'est mon api.html
Après que je l'ai copié d'origine springfox.js en src/main/resources/doc/v1/js/springfox.js où j'ai changé ces lignes:
avec ces lignes:
C'est mon complet springfox.js
C'est ma structure de dossier
Maintenant, vous avez juste à lancer l'application et aller à http://localhost:8080/doc/v1/api.html
OriginalL'auteur Antonio Saracino
Je donne ma réponse même si elle est un peu en retard. C'est une bonne solution si vous utilisez maven. Vous pouvez copier swagger-ui.html dans src/main/webapp et faire ce que vous voulez (remplacer l'écran.css de votre thème.css par exemple, ou ajouter des informations).
Après l'ajouter dans maven ce code :
vous pouvez créer une guerre trop avec Spring boot
OriginalL'auteur crash8854