2016-06-22 19 views
5

Ich bekomme einige kleinere Probleme mit Springfox. Ich kann @RestController-Klassen keinen Namen zuweisen.Springfox @RestController Naming

Ich benutze Spring Boot und Swagger2.

Der folgende Code wird einen Controller namens "Rest-Status-Controller" in Springfox ui erzeugen. Ich habe stattdessen einen "Application Status" erwartet. Gibt es eine andere Konfiguration, die mir nicht bekannt ist?

@Api("Application Status") 
@RestController 
@RequestMapping("/rest/status") 
public class RestStatusController { 

    @ApiOperation(value="Get components current status") 
    @RequestMapping(method = RequestMethod.GET, produces=MediaType.APPLICATION_JSON) 
    public String global() { 
    //... 
    } 

    @ApiOperation(value="Get mysql current status") 
    @RequestMapping(value="/mysql" method = RequestMethod.GET, produces=MediaType.APPLICATION_JSON) 
    public String mysql() { 
    //... 
    } 
} 

Antwort

15

Versuchen Sie, die tags Parameter der @Api Annotation zu verwenden, um den Namen der Gruppierung Ihrer RestController Methoden zu ändern. Auszug aus dem Java Doc entsprechenden (verkürzt):

/** 
* A list of tags for API documentation control. 
* Tags can be used for logical grouping of operations by resources or any other qualifier. 
*/ 
String[] tags() default ""; 

In Ihrem Fall, verwenden Sie einfach:

@Api(tags = "Application Status") 
@RestController 
@RequestMapping("/rest/status") 
public class RestStatusController { 
    ... 
} 

Dies sollte Gruppe alle dokumentierten Operationen von RestStatusController mit dem Tag "Application-Status".

+0

Dieses Problem benötigt einen eigenen Namen. – piepi