Swagger-Dokumentation für Spring Pageable-Schnittstelle

8

Ich habe einen Microservice mit Spring Boot entwickelt. Die Dokumentation für die REST API wird mit Swagger erstellt. Einige REST-Ressourcen verwenden Spring-Konzepte, um die Paginierung kostenlos bereitzustellen. Unten ist ein Beispiel:

%Vor%

Wenn ich die Swagger-Seite öffne, ist das folgende Formular für die Ressource verfügbar:

Das Problem, das ich habe, ist, dass der auslagerbare Parameter mit content-type application / json erkannt wird und ich nicht weiß, wie man einen Wert übergibt, um beispielsweise die Seitengröße zu ändern. Alle Werte scheinen ignoriert zu werden.

Ist es möglich, die Abfrageparameter als JSON-Objekt zu übergeben? Oder ist es möglich, Swagger zu konfigurieren, um unabhängige Abfrageparameterfelder für Getter zu erzeugen, die in der anordnungsfähigen Schnittstelle enthalten sind?

Bitte beachten Sie, dass ich Springfox mit Gradle verwende:

%Vor%     
Laurent 15.02.2016, 08:12
quelle

3 Antworten

15

Dies ist ein bekanntes Problem mit Spring-Fox. Siehe Problem # 755 . Basierend auf zdilas Kommentar 2 ist zu dieser Zeit alternativ @ApiImplicitParams hinzuzufügen, was nicht ideal ist, aber es funktioniert.

%Vor%

[

1 Ссылка

2 Ссылка

    
Vineet Bhatia 16.02.2016, 08:13
quelle
2

Vineet Bhatias Antwort mit @ApiImplicitParams sieht gut aus. Aber ich habe mich mit der Situation konfrontiert, wenn @ApiIgnor und @ApiParam(hidden = true) nicht funktioniert und Sie immer noch den aSembler und die auslagerbaren Params beobachten können. Ich habe dieses Problem behoben, indem ich die nächste Zeile hinzugefügt habe

%Vor%

zu der Docky-Bean in meinem SwaggerConfig .

    
Mykola Lavrenko 22.11.2016 08:41
quelle
2

Antwort von Vineet Bhatia wird ein Validierungsproblem haben, wenn Sie nicht auf localhost laufen. Es wird für Integer-Parameter argumentieren, dass sie nicht dem JSON-Schema entsprechen.

Also habe ich Integer in String geändert:

%Vor%     
Evgeny Konurbaev 02.02.2017 08:42
quelle

Tags und Links