http://localhost:8080/swagger-ui/index.html



So verwenden Sie das integrierte Schnittstellenverwaltungstool Swagger von SpringBoot
1. Einführung in Swagger
Swagger ist eine Reihe von RESTful-API-Tools, mit denen Sie ein interaktives Dokument des Projekts, die automatische Generierung von Client-SDKs und andere Funktionen erhalten können.
Swaggers Ziel ist es, eine standardisierte, sprachunabhängige Schnittstelle für REST-APIs zu definieren, sodass Personen und Computer den Quellcode oder die Dokumente nicht sehen oder die Netzwerkverkehrserkennung nicht passieren können Entdecken und verstehen Sie die Funktionen verschiedener Dienste. Wenn Dienste über Swagger definiert werden, können Verbraucher mit einem kleinen Umfang an Implementierungslogik mit Remote-Diensten interagieren.
2. Springboot integriert Swagger
Das Konzept der Verwendung von Spring Boot zur Integration von Swagger besteht darin, Anmerkungen zu verwenden, um die Informationen zu markieren, die im API-Dokument und in Swagger angezeigt werden müssen Markieren Sie Anmerkungen entsprechend dem Projekt, um die entsprechende API-Dokumentation zu generieren. Swagger ist als das beliebteste API-Tool der Welt bekannt. Es bietet eine Komplettlösung für die API-Dokumentenverwaltung. Hier werden die am häufigsten verwendeten Anpassungsinhalte erläutert.
1. Swagger-Koordinaten hinzufügen
Die Spring Boot-Integration mit Swagger 3 ist sehr einfach. Sie müssen nur Abhängigkeiten einführen und eine Grundkonfiguration durchführen.
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency>
2. Swagger Helloword-Implementierung
2.1. Erstellen Sie ein Springboot-Projekt
Fügen Sie die Annotation @EnableOpenApi zur Startup-Klasse hinzu, um die Swagger-API-Dokumentfunktion zu aktivieren# 🎜🎜#
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import springfox.documentation.oas.annotations.EnableOpenApi; @SpringBootApplication @EnableOpenApi //启动swagger api文档注解 public class SpringBootWithSwaggerApplication { public static void main(String[] args) { SpringApplication.run(SpringBootWithSwaggerApplication.class, args); } }
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author 阿水
* @create 2023-04-11 9:54
*/
@RestController()
public class SwaggerController {
@GetMapping ("hello")
public String hello(String params) {
return "hello swagger"+" param为:"+params;
}
}
Nach dem Login kopieren
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * @author 阿水 * @create 2023-04-11 9:54 */ @RestController() public class SwaggerController { @GetMapping ("hello") public String hello(String params) { return "hello swagger"+" param为:"+params; } }
http://localhost:8080/swagger-ui/index.html
Nach dem Login kopieren
# 🎜🎜 #http://localhost:8080/swagger-ui/index.html
3. Häufig verwendete Konfigurationsanmerkungen
Swagger verwendet Anmerkungen, um anzugeben, dass die Schnittstelle Dokumente generiert, einschließlich Schnittstellenname, Anforderungsmethode, Parameter, Rückgabeinformationen usw. # 🎜🎜## 🎜🎜#1,
ApiAnnotation und
ApiOperationAnnotation#🎜 🎜# @Api# 🎜 🎜#
wird für die Klasse verwendet, um anzugeben, dass es sich um eine Swagger-Ressource handelt, die zwei Attribute hat: Wert und Tags. Die generierten API-Dokumente werden nach Tags klassifiziert. Um es ganz klar auszudrücken: Die von allen Schnittstellen in diesem Controller generierten Schnittstellendokumente befinden sich unter der Tag-Liste generiert werden. Liste, jede Liste zeigt alle Schnittstellen an # @ApiOperation
语法: @Api(tags = "用户操作") 或 @Api(tags = {"用户操作","用户操作2"})
语法: @ApiOperation(value = "", notes = "", response = ) 属性说明: value:方法说明标题 notes:方法详细描述 response:方法返回值类型
- ApiImplicitParams
- Anmerkungen und
ApiImplicitParam
#🎜 🎜 #@ApiImplicitParams # 🎜🎜# Anmerkungen und @ApiImplicitParam
import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * @author 阿水 * @create 2023-04-11 9:54 */ @RestController() @Api(tags = {"操作用户"}) public class SwaggerController { @GetMapping ("hello") @ApiOperation(value = "swagger请求",notes = "阿水的第一个swagger请求",response = String.class) public String hello(String params) { return "hello swagger"+" param为:"+params; } }
@ApiModel wird für Entitätsklassen verwendet, um die Klasse zu beschreiben, und wird für Parameterempfangsanweisungen in der Entitätsklasse verwendet.
语法:
@ApiImplicitParams(value = {
@ApiImplicitParam(name="", value = "", type = "", required = true, paramType = "", defaultValue = "")
})
属性说明:
name:形参名称
value:形参的说明文字
type:形参类型
required:该参数是否必须 true|false
paramType: 用于描述参数是以何种方式传递到 Controller 的,它的值常见有: path, query, body 和 header
path 表示参数是『嵌在』路径中的,它和 @PathVariable 参数注解遥相呼应;
query 表示参数是以 query string 的形式传递到后台的(无论是 get 请求携带在 url 中,还是 post 请求携带在请求体中),它和 @RequestParam 参数注解遥相呼应;
header 表示参数是『藏在』请求头中传递到后台的,它和 @RequestHeader 参数注解遥相呼应的。
form 不常用.
defaultValue :参数默认值
import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * @author 阿水 * @create 2023-04-11 9:54 */ @RestController() @Api(tags = {"操作用户"}) public class SwaggerController { @GetMapping ("hello") @ApiOperation(value = "swagger请求",notes = "阿水的第一个swagger请求",response = String.class) @ApiImplicitParams(value ={ @ApiImplicitParam(name="param1", value = "参数名1", type = "String", required = true, paramType = "query", defaultValue = "阿水所想的默认值1" ), @ApiImplicitParam(name="param2", value = "参数名2", type = "String", required = true, paramType = "query", defaultValue = "阿水所想的默认值2" ) }) public String hello(String param1,String param2) { return "hello swagger"+" param1为:"+param1+"param2为"+param2; } }
5. Erstellen Sie die SwaggerConfig-Konfigurationsklasse
Fügen Sie zwei Methoden in SwaggerConfig hinzu: (Eine Methode dient dazu, zusätzliche Vorbereitungen für die andere Methode zu treffen)
#🎜🎜 Die #api()-Methode verwendet @Bean, wird beim Start initialisiert und gibt das Instanz-Docket (Swagger-API-Zusammenfassungsobjekt) zurück. Hier ist zu beachten, dass .apis(RequestHandlerSelectors.basePackage("xxx.yyy.zzz")) ist. Gibt den Bedarf an. Der gescannte Paketpfad. Nur die Controller-Klasse unter diesem Pfad generiert automatisch das Swagger-API-Dokument. Die Konfiguration der@ApiModel("用户类") @Data public class Users { @ApiModelProperty(value = "编码:主键") private Integer id; @ApiModelProperty(value = "用户名") private String username; @ApiModelProperty(value = "密码") private String password; }

Der gesamte oben beschriebene Prozess wurde abgeschlossen, aber viele Leute mögen die generierte Schnittstellendokumentseite nicht, weil sie der Meinung sind, dass sie nicht den Nutzungsgewohnheiten der Chinesen entspricht Bereitstellung weiterer UI-Testseiten. Diese Seite wird immer noch häufig verwendet.
- Importieren Sie die folgenden Abhängigkeiten, starten Sie das Projekt neu und greifen Sie auf die Adresse zu: http://localhost:8080/doc.html
/** * 添加用户 * * @param user * @return */ @PostMapping("/add") @ApiOperation(value = "添加用户",notes = "添加用户信息",response = ResponseResult.class) @ApiResponses({ @ApiResponse(code = 200, message = "添加成功", response = ResponseResult.class), @ApiResponse(code = 500, message = "添加失败", response = ResponseResult.class) }) public ResponseResult<Void> addUser(@RequestBody User user) { //获得生成的加密盐 user.setSalt(SaltUtils.getSalt()); int n = userService.addUser(user); if (n > 0) { return new ResponseResult<Void>(200, "添加成功"); } return new ResponseResult<Void>(500, "添加失败"); }
Nach dem Login kopierenDas obige ist der detaillierte Inhalt vonSo verwenden Sie das integrierte Schnittstellenverwaltungstool Swagger von SpringBoot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Einführung in Jasypt Jasypt ist eine Java-Bibliothek, die es einem Entwickler ermöglicht, seinem Projekt mit minimalem Aufwand grundlegende Verschlüsselungsfunktionen hinzuzufügen und kein tiefes Verständnis der Funktionsweise der Verschlüsselung erfordert. standardbasierte Verschlüsselungstechnologie. Passwörter, Text, Zahlen, Binärdateien verschlüsseln ... Geeignet für die Integration in Spring-basierte Anwendungen, offene API, zur Verwendung mit jedem JCE-Anbieter ... Fügen Sie die folgende Abhängigkeit hinzu: com.github.ulisesbocchiojasypt-spring-boot-starter2 Die Vorteile von Jasypt schützen unsere Systemsicherheit. Selbst wenn der Code durchgesickert ist, kann die Datenquelle garantiert werden.

Mit der kontinuierlichen Weiterentwicklung von Webanwendungen ist API zu einem der Standards für die moderne Webanwendungsentwicklung geworden. Da jedoch die Anzahl und Komplexität der APIs zunimmt, wird auch deren Pflege und Dokumentation immer komplexer. Um dieses Problem zu lösen, wurde Swagger ins Leben gerufen. Es handelt sich um ein Tool zum Generieren von API-Dokumentationen, das Entwicklern die Wartung und Dokumentation von APIs erleichtert und gleichzeitig visuelle Dokumentation und verschiedene andere Funktionen bereitstellt. In diesem Artikel besprechen wir, wie man Swagger in PHP verwendet, um eine zu generieren

1. Redis implementiert das Prinzip der verteilten Sperren und warum verteilte Sperren erforderlich sind. Bevor über verteilte Sperren gesprochen wird, muss erläutert werden, warum verteilte Sperren erforderlich sind. Das Gegenteil von verteilten Sperren sind eigenständige Sperren. Wenn wir Multithread-Programme schreiben, vermeiden wir Datenprobleme, die durch den gleichzeitigen Betrieb einer gemeinsam genutzten Variablen verursacht werden. Normalerweise verwenden wir eine Sperre, um die Richtigkeit der gemeinsam genutzten Variablen sicherzustellen Die gemeinsam genutzten Variablen liegen im gleichen Prozess. Wenn es mehrere Prozesse gibt, die gleichzeitig eine gemeinsam genutzte Ressource betreiben müssen, wie können sie sich dann gegenseitig ausschließen? Heutige Geschäftsanwendungen sind in der Regel Microservice-Architekturen, was auch bedeutet, dass eine Anwendung mehrere Prozesse bereitstellen muss. Wenn mehrere Prozesse dieselbe Datensatzzeile in MySQL ändern müssen, ist eine Verteilung erforderlich, um fehlerhafte Daten zu vermeiden wird zu diesem Zeitpunkt eingeführt. Der Stil ist gesperrt. Punkte erreichen wollen

Laravel-Entwicklung: Wie verwende ich LaravelSwagger, um API-Dokumentation zu generieren? Bei der Entwicklung von Webanwendungen ist der Umgang mit der API-Dokumentation oft eine mühsame, aber wesentliche Aufgabe. API-Dokumentation kann mit Swagger automatisch generiert und visualisiert werden. In der Laravel-Entwicklung können wir das LaravelSwagger-Erweiterungspaket verwenden, um auf einfache Weise SwaggerAPI-Dokumentation zu generieren. In diesem Artikel erfahren Sie, wie Sie L verwenden

Springboot liest die Datei, kann aber nach dem Packen in ein JAR-Paket nicht auf die neueste Entwicklung zugreifen. Es gibt eine Situation, in der Springboot die Datei nach dem Packen in ein JAR-Paket nicht lesen kann ist ungültig und kann nur über den Stream gelesen werden. Die Datei befindet sich unter resources publicvoidtest(){Listnames=newArrayList();InputStreamReaderread=null;try{ClassPathResourceresource=newClassPathResource("name.txt");Input

SpringBoot und SpringMVC sind beide häufig verwendete Frameworks in der Java-Entwicklung, es gibt jedoch einige offensichtliche Unterschiede zwischen ihnen. In diesem Artikel werden die Funktionen und Verwendungsmöglichkeiten dieser beiden Frameworks untersucht und ihre Unterschiede verglichen. Lassen Sie uns zunächst etwas über SpringBoot lernen. SpringBoot wurde vom Pivotal-Team entwickelt, um die Erstellung und Bereitstellung von Anwendungen auf Basis des Spring-Frameworks zu vereinfachen. Es bietet eine schnelle und einfache Möglichkeit, eigenständige, ausführbare Dateien zu erstellen

1. Passen Sie den RedisTemplate1.1-Standard-Serialisierungsmechanismus an. Die API-basierte Redis-Cache-Implementierung verwendet die RedisTemplate-Vorlage für Daten-Caching-Vorgänge. Öffnen Sie hier die RedisTemplate-Klasse und zeigen Sie die Quellcodeinformationen der Klasse publicclassRedisTemplateextendsRedisAccessorimplementsRedisOperations an. Schlüssel deklarieren, verschiedene Serialisierungsmethoden des Werts, der Anfangswert ist leer @NullableprivateRedisSe

Wenn Springboot + Mybatis-plus keine SQL-Anweisungen zum Hinzufügen mehrerer Tabellen verwendet, werden die Probleme, auf die ich gestoßen bin, durch die Simulation des Denkens in der Testumgebung zerlegt: Erstellen Sie ein BrandDTO-Objekt mit Parametern, um die Übergabe von Parametern an den Hintergrund zu simulieren dass es äußerst schwierig ist, Multi-Table-Operationen in Mybatis-plus durchzuführen. Wenn Sie keine Tools wie Mybatis-plus-join verwenden, können Sie nur die entsprechende Mapper.xml-Datei konfigurieren und die stinkende und lange ResultMap konfigurieren Schreiben Sie die entsprechende SQL-Anweisung. Obwohl diese Methode umständlich erscheint, ist sie äußerst flexibel und ermöglicht es uns
