2017-11-09 4 views
0

Ich erstelle eine Spring-Boot-Anwendung und dokumentiere sie mithilfe einer Swagger-Benutzeroberfläche mithilfe der Springfox Swagger-Benutzeroberfläche. Ich habe alles dokumentiert, aber möchte den Titel und die Beschreibung anpassen, kann aber nicht herausfinden, wie. Zum Beispiel in diesem Bild: https://springfox.github.io/springfox/docs/current/images/springfox-swagger-ui.png der Titel ist "Springfox Petstore API" und die Beschreibung ist Lorem Ipsum. Aber in meinem Swagger UI, sowohl der Titel als auch die Beschreibung sagen "API Documentation". Ich habe versucht, die @ SwaggerDefinition Annotation zu verwenden, aber es scheint nichts zu tun.Titel und Beschreibung der Swagger-Benutzeroberfläche mit Springfox ändern

Antwort

1

Ich empfehle Ihnen, swagger editor zu verwenden, dann können Sie den Spring Boot-Server automatisch aus den API-Dokumenten generieren, indem Sie die Option "Server generieren" im Hauptmenü verwenden. Es ist wirklich großartig, um zum ersten Mal eine API zu generieren.

Wenn Sie aus dem YAML setzen Sie diese Felder auf der info Abschnitt enthalten muss:

info: 
    version: "1.0.0" 
    title: My API title 
    description: "Awesome description" 

aus dem Code, überprüfen Sie die generierten Klassen von Swagger Editor und vergleichen Sie sie mit Ihrem Code. Sie können Beschreibung und Titel festlegen und die entsprechenden Attribute für das ApiInfo Builder-Objekt festlegen, das sich in der Klasse SwaggerDocumentationConfig befindet.

Hier haben Sie den Code:

@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-10-05T14:03:51.916-03:00") 

@EnableSwagger2 
@Configuration 
public class SwaggerDocumentationConfig { 

    ApiInfo apiInfo() { 
     return new ApiInfoBuilder() 
      .title("My API Title") 
      .description("Awesome description") 
      .license("Apache 2.0") 
      .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html") 
      .termsOfServiceUrl("") 
      .version("1.0.0") 
      .contact(new Contact("", "", "[email protected]")) 
      .build(); 
    } 

    @Bean 
    public Docket customImplementation() { 
     return new Docket(DocumentationType.SWAGGER_2) 
      .select() 
      .apis(RequestHandlerSelectors.basePackage("com.mypackage.api")) 
      .build() 
      .apiInfo(apiInfo()); 
    } 
} 

Wenn nichts davon Sinn macht für Sie, zeigen Sie mir ein wenig mehr von Ihrem Code zu wissen, wie Sie Springfox verwenden und ich kann Ihnen helfen, besser.

Bester Respekt!

+0

Ich habe versucht, einen Spring-Server aus dem angegebenen Beispiel zu generieren, aber nichts passiert. Was soll passieren? – faiuwle

+0

Stellen Sie sicher, dass Ihr Browser Popups nicht blockiert. Wenn Sie im Hauptmenü die Option "Generate-Server-> spring" auswählen, laden Sie eine Zip-Datei mit einem SpringBoot-Projekt herunter. Dann können Sie es rückgängig machen und es mit Ihrem Code vergleichen. Denken Sie daran, dass ein Großteil des automatisch generierten Codes für Ihren speziellen Fall möglicherweise nicht nützlich ist. –

+0

Ich habe Pop-ups aktiviert und trotzdem passiert nichts. – faiuwle

Verwandte Themen