English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Anleitung zur Konfiguration des Swagger-Plugins in SpringMVC (geteilt)

Einleitung

Swagger zielt darauf ab, eine sprachunabhängige Standard-Schnittstelle für REST-APIs zu definieren, die es Benutzern ermöglicht, die Funktionen von Computersystemen zu entdecken und zu verstehen, ohne auf den Quellcode zugreifen zu müssen. Wenn Swagger korrekt definiert ist, können Benutzer mit minimalem Implementierungsknow-how Remote-Services verstehen und mit ihnen interagieren. Ähnlich wie Schnittstellen in der niedrigeren Programmierung.

Zwei, Implementierungsschritte

1、Maven-Abhängigkeit hinzufügen

<dependency>
 <groupId>io.springfox</groupId>
 <artifactId>springfox-swagger2</artifactId>
 <version>2.6.1</version>
</dependency>

2、Swagger-Konfigurationsklasse

@Configuration
@EnableSwagger2
//@ComponentScan(basePackageClasses = JgBjBaseInfoCompanyApi.class) oder
@ComponentScan(basePackages = "com.summersoft.ts.schedule.supervision.controller") //Pfade der zu scannenden Pakete
public class SwaggerConfig {
 @Bean
 public Docket swaggerSpringMvcPlugin() {
 return new Docket(DocumentationType.SWAGGER_2)
  .apiInfo(apiInfo())
  .select() //Auswahl der Pfade und APIs, die die Dokumentation erzeugen
  .apis(RequestHandlerSelectors.any())//对所有Api进行监控
  .paths(PathSelectors.any()) //对所有路径进行扫描
  .build();
 }
 /**
 * api具体信息
 *
 * @return
 */
 private ApiInfo apiInfo() {
 ApiInfo apiInfo = new ApiInfo(
  "对接服务平台API文档", //标题
  "", //描述
  "1.0", //版本
  "",
  "",
  "", //签名
  "" //签名链接
 );
 return apiInfo;
 }
}

3、Swagger 注解

Swagger 会去扫描SwaggerConfig 中配置的包路径下的带有Swagger 注解的类文件,并最后生成一串扫描的Json文件...

Swagger 注解说明:https://github.com/swagger-api/swagger-core/wiki/Annotations#apimodel

@Api :用在类上,说明该类的作用,需要说明的是较老的版本用的value表示扫描生成的类名,1.5后要用tag 表示类名

@Api(tag= "UserController", description = "用户相关api")

@ApiOperation :用在方法上,说明方法的作用

@ApiOperation(value = "查找用户", notes = "查找用户", httpMethod = "GET", produces =)

MediaType.APPLICATION_JSON_UTF8_VALUE)

@ApiParam :用在参数列表中,表明参数的含义

@ApiParam(value = "创建或更新距离当前时间(月)") Integer time

@ApiImplicitParams :用在方法上包含一组参数说明

@ApiImplicitParam :用在@ApiImplicitParams注解中,指定一个请求参数的各个方面

paramType:参数放在哪个位置

header–>请求参数的获取:@RequestHeader

query–>请求参数的获取:@RequestParam

path(用于restful接口)–>请求参数的获取:@PathVariable

body(不常用)

form(不常用)

name:参数名

dataType:参数类型

required:参数是否必须传递

value:Bedeutung des Parameters

defaultValue:Standardwert des Parameters

@ApiImplicitParams({

@ApiImplicitParam(name = "id", value = "Eindeutige ID", required = true, dataType = "Long", paramType = "path"),
)

@ApiResponses :Wird verwendet, um eine Gruppe von Antworten zu darstellen

@ApiResponse :Wird in @ApiResponses verwendet, wird normalerweise verwendet, um eine fehlerhafte Antwort zu beschreiben

code:Zahl, z.B.400

message:Information, z.B. "Die Anfrageparameter sind nicht vollständig ausgefüllt"

response:Die Klasse, die den Ausnahmezustand auslöst

@ApiResponses(value = {
@ApiResponse(code = 400, message = "Kein Name angegeben")
)

@ApiModel :Beschreibt Informationen eines Models (Dies wird in der Regel bei der Erstellung von Posts verwendet, z.B. @RequestBody, wenn die Anfrageparameter nicht mit @ApiImplicitParam beschrieben werden können)

@ApiModel(value = "Benutzer-Entität")

@ApiModelProperty :Beschreibt eine Eigenschaft eines Models

@ApiModelProperty(value = "Anmeldebenutzer")

Drittes Kapitel: swagger-ui

Mit den obigen Konfigurationsinformationen wird Swagger uns alle Klasse-Informationen scannen und eine JSON-Datei generieren. Um die JSON-Datei so angenehm wie möglich für die Menschen darzustellen, muss swagger verwendet werden-ui ist ein Component:

1, swagger-Anleitung zur Verwendung von ui:https://swagger.io/docs/swagger-tools/

2, Herunterladen swagger-ui , einen neuen Ordner swagger im Verzeichnis webapp erstellen, die Dateien aus dem Verzeichnis dist in den Ordner swagger kopieren und die Datei index.html ändern, standardmäßig ist es die Verbindung http://petstore.swagger.io/v2/swagger.json um die JSON des APIs zu erhalten, hier muss der URL-Wert auf http: geändert werden//{ip}:{port}/{projectName}/api-im Format docs, die Werte in {} müssen entsprechend ihrer eigenen Situation ausgefüllt werden.

Beispielsweise ist der Wert meines URL:

http://localhost:8080/Vouchers/api-docs. Darüber hinaus muss die Freigabe der Ressourcen von Spring MVC konfiguriert werden: <mvc:resources mapping="/swagger/**" location="/swagger/"/>

Tipp:Im Standardverzeichnis dist gibt es nicht so viele Dateien, swagger-ui kann die Konfiguration selbst konfigurieren, dies ist die im Projekt verwendete, ändern Sie den Projektname nicht, der Projektname wird dynamisch abgerufen: https://files.cnblogs.com/files/jmcui/swagger.zip

3、swagger-Wie kann ui die Anzeige der Schnittstellen sortieren:

apisSorter :Für die API /Eine Sortierreihenfolge für die Liste der Tags anwenden. Es kann 'alpha' (nach Namen sortieren) oder eine Funktion (siehe Array.prototype.sort() für die Funktionsweise der sort-Funktion) sein. Standardmäßig bleibt die Reihenfolge, wie sie vom Server zurückgegeben wird, unverändert.

operationsSorter :Eine Sortierreihenfolge für die Liste der Operationen jeder API anwenden. Es kann 'alpha' (alphabetisch numerisch sortieren), 'method' (nach HTTP-Methode sortieren) oder eine Funktion (siehe Array.prototype.sort() für die Funktionsweise der sort-Funktion) sein. Standardmäßig bleibt die Reihenfolge, wie sie vom Server zurückgegeben wird, unverändert.

Dieses Tutorial zur Konfiguration des Swagger-Plugins in SpringMVC (geteilt) ist das gesamte Inhalt, das der Redakteur allen zur Verfügung gestellt hat. Es wird hoffentlich eine Referenz für alle sein, und wir hoffen, dass alle die呐喊-Tutorials unterstützen.

Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet übernommen und gehört dem Urheberrecht des jeweiligen Autors. Der Inhalt wurde von Internetnutzern selbstständig beigesteuert und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat die Inhalte nicht manuell bearbeitet. Sie übernimmt auch keine rechtlichen Verantwortlichkeiten. Wenn Sie urheberrechtlich geschützte Inhalte finden, freuen wir uns über eine E-Mail an: notice#oldtoolbag.com (Bitte ersetzen Sie # durch @ beim Senden von E-Mails, um eine Beschwerde einzureichen und relevante Beweise bereitzustellen. Sobald nachgewiesen wird, dass die Inhalte urheberrechtlich geschützt sind, wird diese Website die betreffenden Inhalte sofort löschen.)

Empfohlene Artikel