Ich habe SpringFox-Bibliothek für Ruhe Dokumentation meiner Spring-Boot-App verwendet. Wenn ich auf Modell klicke, werden alle Elemente als optional zurückgegeben. Gibt es eine Möglichkeit, erforderliche Elemente als obligatorisch anzuzeigen? Gibt es eine zusätzliche Konfiguration, die hinzugefügt werden muss?SpringFox Swagger - Optionale und obligatorische Felder in Modell
Antwort
Ja standardmäßig Alle th Die Felder sind optional. Um ein Feld nach Bedarf zu markieren, können Sie folgende Anmerkung verwenden.
@ApiModelProperty(required = true)
Auf die Getter-Methode des Feldes, das erforderlich sein sollte. Dies zeigt das Feld nicht als "obligatorisch" an. Aber das optionale Tag wird für dieses Feld in der Dokumentation entfernt.
Hoffe, das hilft.
Versuchen Sie, die einen ähnlichen Code in Swagger Konfiguration:
@Bean
public Docket api() {
List<ResponseMessage> list = new java.util.ArrayList<>();
list.add(new ResponseMessageBuilder().code(500).message("500 message")
.responseModel(new ModelRef("JSONResult«string»")).build());
list.add(new ResponseMessageBuilder().code(401).message("Unauthorized")
.responseModel(new ModelRef("JSONResult«string»")).build());
return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any()).build().securitySchemes(Collections.singletonList(securitySchema()))
.securityContexts(Collections.singletonList(securityContext())).pathMapping("/")
.directModelSubstitute(LocalDate.class, String.class).genericModelSubstitutes(ResponseEntity.class)
.alternateTypeRules(newRule(
typeResolver.resolve(DeferredResult.class,
typeResolver.resolve(ResponseEntity.class, WildcardType.class)),
typeResolver.resolve(WildcardType.class)))
.useDefaultResponseMessages(false).apiInfo(apiInfo()).globalResponseMessage(RequestMethod.GET, list)
.globalResponseMessage(RequestMethod.POST, list);
}
Und in der Controller-Mapping @RequestBody @Valid MyRequestClass req
beispielsweise hinzufügen, wenn Sie Objekte in der Anfrage Körper sind vorbei, und wenn Sie Gabe von Parametern hinzufügen etwas wie @RequestParam(value = "email", required = true, defaultValue = "") String email
auch, wie in dem Config-Code, wie eine Klasse mit generischem Typ verweisen, dh "JSONResult«string»"
die verweisen JSONResult<String>
Dank @Hasson. Wie kann ich in der Option, in der ich ein Java-Objekt übergebe, angeben, welches Feld mit dieser Konfiguration obligatorisch/optional ist? –
Nicht sicher, ob Swagger so tief gehen wird, aber Sie können versuchen mit '@NotEmpty' und '@NotNull' für die Felder in dem Objekt, das Sie übergeben. – Hasson
@PunterVicky Wie in @ Ganeshs Antwort darauf hingewiesen. Sie können Ihr Modell mit '@ApiModelProperty (required = true) annotieren' oder es mit der Anmerkung '@ NotNull' von javax annotieren. –
- 1. Swagger Springfox verstecken Modell Eigenschaft auf POST
- 2. wie man obligatorische und optionale Felder in der XML erkennt
- 3. Springboot + Springfox + Swagger2 + Swagger-Ui
- 4. Springfox Swagger Generation erstellt ungerade Schema
- 5. Wie ein Sitzungsparameter in Swagger mit Springfox
- 6. Wie verstecken mit Springfox zusätzliche Anforderung Körperparameter in Swagger entfernen
- 7. Wie übergeben Sie obligatorische und optionale Befehlszeilenargumente an Perl-Skript?
- 8. optionale Felder in Django Modelle
- 9. Generieren von statischen Dokumenten mit Springfox, Swagger und Gradle
- 10. Springfox Swagger Konfiguration und Dokumentation werden nicht erfasst
- 11. Optionale Felder in elasticsearch
- 12. Swagger: Unterstützung für optionale Routen
- 13. Hypermedia-Links in der Swagger-Benutzeroberfläche unter Verwendung von Springfox
- 14. Logstash optionale Felder in Logfile
- 15. Mongoose Schema optionale Felder
- 16. Silverlight-Validierung - Optionale Felder
- 17. Unmarshalling Abfrage Params in Objekt mit Swagger/Springfox und Spring Boot
- 18. Generating Swagger JSON für Spring MVC: Springfox oder Enunciate
- 19. Swagger Springfox Konfiguration lädt vor Spring Boot Config
- 20. Erhalten Sie Zugang zu Springfox Swagger-Ui hinter Feder-Sicherheit
- 21. Wie kann ich swagger-ui.html für Springfox ändern?
- 22. Spring + Springfox + Header-Parameter
- 23. Unterschiede zwischen Api und Modell Swagger
- 24. Verschiedene Beispiele für dasselbe Modell in Swagger
- 25. Wie übergeben Shell-Skripte obligatorische und optionale Flags in der Befehlszeile mit getopts?
- 26. Yii Modell und benutzerdefinierte Felder
- 27. Erstelle optionale Felder in Clojure record?
- 28. Nullable Felder in Swagger auf node.js
- 29. Wie übergeben optionale Parameter in swagger php api Annotation?
- 30. Obligatorische Attribute in MXML?
Danke @Ganesh. –