Préface
Dans le blog précédent, nous avons enregistré le service à Eureka. Nous pouvons voir à partir de l'interface d'interface utilisateur d'Eureka quels services ont été enregistrés sur le serveur Eureka. Cependant, si nous voulons voir quelles méthodes d'interface Restful sont fournies par le service actuel, nous n'avons aucun moyen de les obtenir. La méthode traditionnelle consiste à régler un document d'interface de service pour la communication entre les développeurs. Dans ce cas, plusieurs fois, cela entraînera des incohérences entre le document et le code, comme le code modifié, mais le document d'interface n'a pas été modifié, et Swagger2 nous fournit une solution parfaite. Voyons comment Swagger2 résout le problème.
1. Présentez le package JAR dont dépend Swagger2
<! - Swagger2 -> <dependency> <proupId> io.springfox </rombandid> <Artifactid> springfox-sagger2 </retifactid> <version> 2.2.2 </-version> </ Dependency> <Dedency> <ProupId> io.springfox </proupId> <pridesta> Springfox-Swagger-Ui-Ui </Dependance>
2. Initialiser la configuration de Swagger2
@Configuration @ activewagger2 // activer swagger2 public class swagger2 {@bean public docket createstapi () {// Créer des informations de base api renvoie un nouveau dossier (documentationtype.swagger_2) .apiinfo (apiinfo ()) .Select () .apis (requestHandlerselectors.basePackage ("com.chhliu.jpa"))) // numériser toutes les API sous ce package qui doivent être affichées dans Swagger, sauf pour @apiignore annotation annoted.paths (pathselectors.any ()) .build (); } APIInfo privé apiinfo () {// Informations de base sur la création d'API, qui sera affichée dans l'interface utilisateur de Swagger. Renvoie un nouveau apiinfobuilder () .Title ("Build RESTFul API dans Spring Boot en utilisant Swagger2") // API Title.Description ("API RESTFUL FOURNI PAR RDCLOUD-JPA") // API Description.Contact ("Chhliu @") // Contact.Version ("1.0") // version numéro.build (); }}Remarque: Cette classe de configuration doit être créée dans le répertoire des applications au même niveau. Lorsque le projet démarre, la classe de configuration est initialisée.
3. Améliorer les informations sur les documents API
Interface publique SonarControlleri {@apioperation (value = "Obtenir des informations URL correspondant au sonar du groupe de projet", notes = "obtenir des informations URL correspondant au sonar du groupe de projet en fonction de l'ID") // Utilisez cette annotation pour décrire les informations de la méthode d'interface @APIIMPLICITPARAMS (@APIIMPLICtAram (name = "id", value = " "Long", paramtype = "path")}) // Utilisez cette annotation pour décrire les informations des paramètres de la méthode. Il convient de noter ici que le paramètre ParamType doit être configuré comme chemin, sinon une erreur sera signalée lors de l'accès à la méthode d'interface dans le sonarurl GET (@Pathvariable Long ID); @ApiOperation (valeur = "obtenir toutes les informations d'URL correspondant au groupe de projet Sonar") @getMapping ("/ get / all") List <sonarurl> getall (); } Remarque: Paramtype représente le type du paramètre, les valeurs facultatives sont "chemin", "corps", "requête", "en-tête", "formulaire"
4. Améliorer les informations de type de retour
@Entity (name = "sonar_url") classe publique sonarurl implémente série {/ ** * * / private statique final long SerialVersionUID = 1l; @Apimodelproperty (valeur = "clé primaire", Hidden = false, notes = "clé primaire, cachée", requise = true, dataType = "long") // Utilisez cette annotation pour décrire les informations de la propriété. Lorsque Hidden = true, cette propriété ne s'affichera pas dans l'API @ID @GeneratedValue (Strategy = GenerationType.Auto) Private Long ID; @Apimodelproperty (value = "Url Link Address") @Column (name = "URL") URL de chaîne privée; @Apimodelproperty (valeur = "groupe de projet") @Column (name = "Team") Équipe de chaîne privée; @APIMODELPROPERTY (Value = "Department") @Column (name = "Department") Département de chaîne privée; ... omettre Getter, méthode du setter ...}5. Démarrez l'application
1. Entrez dans le navigateur: http: // localhost: 7622 / swagger-ui.html
2. Les résultats sont les suivants:
6. Accès et test du document API
En plus de fournir une fonction de visualisation de l'interface API, Swagger fournit également des fonctions de débogage et de test.
Les résultats des tests sont les suivants:
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.