Tous ceux qui ont déjà documenté une API REST savent ce que cela fait d'écrire un fichier YAML entier avec toutes ces ressources, chemins, requêtes et schémas, mais tout à coup, vous vous retrouvez à garder un fichier dans lequel la dernière ligne comporte 5 chiffres. Oui, c'est douloureux.
Comme les meilleures applications sont celles que nous avons créées nous-mêmes, je me suis retrouvé exactement au même endroit en train de documenter une API au travail et j'ai beaucoup cherché pour ne pas trouver une seule solution viable à ce problème, c'est là que nos instincts de programmeur entrent en jeu. et nous passons cinq fois plus de temps que nous étions censés créer un nouvel outil pour nous-mêmes. C'est exactement ce que j'ai fait et je souhaite partager avec vous tous un tout nouvel outil écrit en Go pour fusionner vos fichiers YAML sur un seul fichier boss à utiliser comme spécification OpenAPI.
Présentation : GOpenAPI
GOpenAPI (Golang OpenAPI) est un outil qui utilise un fichier appelé dirs.json pour analyser les fichiers et les répertoires (oui, des répertoires entiers valant yaml) en un seul fichier swagger.yaml à la fin de l'exécution.
Vous pouvez vérifier le code source ici. Notez que le référentiel est également un modèle qui peut être cloné et utilisé comme brouillon pour créer votre première spécification OpenAPI avec cet outil (assurez-vous simplement de conserver le dossier gopenapi si vous ne souhaitez pas l'installer via go install, sinon il est complètement amovible)
Comment ça marche (et est-ce que je le fais fonctionner)
Simple, une fois que vous exécutez gopenapi, il lit le fichier dirs.json et commence à créer une spécification OpenAPI avec tous les fichiers et dossiers qui y sont déclarés. Notez que le dirs.json utilisera des fichiers pour les clés uniques telles que les informations, les serveurs et la sécurité ainsi qu'une clé appelée modèle (qui est juste un fichier yaml OpenAPI vierge)
Les ressources et les clés difficiles à conserver dans un seul fichier (comme les chemins, les schémas et les requêtes) peuvent être stockées dans des dossiers, et celles-ci peuvent également être mentionnées à l'aide de la balise #ref commune sur OpenAPI, car elles sont toutes aller au même fichier après la fusion.
Ce projet est également livré avec un index.html qui peut être servi de manière statique et il interagit également avec le bundle officiel Swagger UI contenu dans le dossier dist.
C'est tout les amis
J'espère que cet outil conviendra à tous ceux qui (tout comme moi) ont cherché dans de nombreux référentiels Reddits et Github sans trouver l'outil qu'ils recherchaient. Eh bien, maintenant vous l'avez et il est entièrement open source ce qui signifie que, si vous voyez une amélioration ou un problème qui peut être résolu, je n'y réfléchirai pas à deux fois avant de collaborer avec vous pour le résoudre. De plus, je suis assez naïf sur Golang donc il y a peut-être beaucoup à améliorer sur ce projet, je vais essayer de le maintenir à jour et de l'améliorer constamment (puisque je vais aussi beaucoup l'utiliser maintenant)
Merci d'avoir lu et j'espère que celui-ci vous sera utile de la même manière qu'il m'a été utile ;)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

La maîtrise du package des chaînes en langue GO peut améliorer les capacités de traitement du texte et l'efficacité de développement. 1) Utilisez la fonction CONTAINS pour vérifier les sous-chaînes, 2) Utilisez la fonction d'index pour trouver la position de sous-chaîne, 3) Join de la fonction Splice Splice Slices de chaîne, 4) Remplacer la fonction pour remplacer les sous-chaînes. Soyez prudent pour éviter les erreurs courantes, comme ne pas vérifier les chaînes vides et les problèmes de performances de fonctionnement de grande chaîne.

Vous devez vous soucier du package des chaînes dans GO, car il peut simplifier la manipulation des chaînes et rendre le code plus clair et plus efficace. 1) Utilisez des chaînes.join pour épisser efficacement les chaînes; 2) Utilisez des chaînes. 3) Trouver des positions de sous-chaîne à travers des chaînes.index et des chaînes.LastIndex; 4) Utilisez des chaînes.replaceALL pour remplacer les chaînes; 5) Utilisez des chaînes. 6) Vérifiez toujours les entrées pour éviter les résultats inattendus.

ThestringsPackageingOsOssentialForeFicientsStringManipulation.1) itofferssimpleyetpowerfunctionsfunctionsfortaskslikeCheckingSubStringSandjoiningStrings.2) ithandlesunicodewell, with-ctionslikestrings.Fieldsforwhitespace-separis

WhendecidingbetweenGo'sbytespackageandstringspackage,usebytes.Bufferforbinarydataandstrings.Builderforstringoperations.1)Usebytes.Bufferforworkingwithbyteslices,binarydata,appendingdifferentdatatypes,andwritingtoio.Writer.2)Usestrings.Builderforstrin

Le package des chaînes de Go fournit une variété de fonctions de manipulation de chaînes. 1) Utilisez des chaînes. Continent pour vérifier les sous-chaînes. 2) Utilisez des chaînes.split pour diviser la chaîne en tranches de sous-chaîne. 3) Fusionner les cordes à travers les cordes.join. 4) Utilisez des chaînes.trimspace ou des chaînes.trim pour supprimer des blancs ou des caractères spécifiés au début et à la fin d'une chaîne. 5) Remplacez toutes les sous-chaînes spécifiées par des chaînes. 6) Utilisez Strings.hasprefix ou Strings.hassuffix pour vérifier le préfixe ou le suffixe de la chaîne.

L'utilisation du package GO Language Strings peut améliorer la qualité du code. 1) Utilisez des chaînes.join () pour connecter élégamment les réseaux de chaînes pour éviter les frais généraux de performances. 2) Combinez des chaînes.split () et des chaînes.Contes () pour traiter le texte et faire attention aux problèmes de sensibilité aux cas. 3) Évitez l'abus de cordes.replace () et envisagez d'utiliser des expressions régulières pour un grand nombre de substitutions. 4) Utilisez des chaînes.

Le package des octets de Go offre une variété de fonctions pratiques pour gérer le tranchage des octets. 1.Bytes.Contains est utilisé pour vérifier si la tranche d'octets contient une séquence spécifique. 2.Bytes.Split est utilisé pour diviser les tranches d'octets en petits pièces. 3. bytes.join est utilisé pour concaténer plusieurs tranches d'octets en une seule. 4.Bytes.trimspace est utilisé pour retirer les blancs avant et arrière des tranches d'octets. 5.Bytes.Equal est utilisé pour comparer si deux tranches d'octets sont égales. 6.Bytes.Index est utilisé pour trouver l'indice de départ des sous-lisses dans les lieux de grande envergure.

Theencoding / binarypackageingoissentialBecauseitprovidesastandardwaytoreadandwriteBinaryData, assurant la plateforme de la compatibilité et la maintenance de la Différendianité.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver Mac
Outils de développement Web visuel

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Dreamweaver CS6
Outils de développement Web visuel
