Maison >développement back-end >Golang >Comment puis-je servir des fichiers statiques avec un routeur Gin ?

Comment puis-je servir des fichiers statiques avec un routeur Gin ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-04 10:06:021237parcourir

How do I Serve Static Files with a Gin Router?

Servir des fichiers statiques avec le routeur Gin

Dans Gin, le service de fichiers statiques tels que JSON peut être réalisé via des routes dédiées, éliminant ainsi le besoin de créer un service de fichiers complexe système à partir de zéro.

Considérez la structure et le code de l'application donnés dans la question. Le fichier HTML accède à un fichier JSON à l'aide de JavaScript, mais une erreur se produit lors de la tentative d'accès. Pour résoudre ce problème, définissez une route spécifique pour le fichier JSON dans le fichier main.go :

<code class="go">func main() {
    router = gin.Default()
    router.LoadHTMLGlob("templates/*")

    router.GET("/web", func(c *gin.Context) {
        c.HTML(http.StatusOK, "index.html", gin.H{
            "title": "Web",
            "url":   "/web.json", // Change here to use the newly defined static file route
        })
    })

    // Add a route for the JSON file
    router.StaticFile("/web.json", "templates/web.json") // Add this line

    router.Run()
}</code>

Maintenant, Gin servira le fichier JSON via la route "/web.json". N'oubliez pas d'inclure les balises HTML appropriées dans votre fichier index.html pour afficher et accéder au fichier JSON en JavaScript :

<code class="html">...
<script>
  window.onload = function() {
    // Begin Swagger UI call region
    const ui = SwaggerUIBundle({
      url: "/web.json", // Use the static file route here
      dom_id: '#swagger-ui',
      // ...
    })
    // End Swagger UI call region

    window.ui = ui
  }
</script>
...</code>

En suivant ces étapes, vous pouvez servir efficacement des fichiers statiques au sein de votre routeur Gin, permettant ainsi à votre application pour accéder aux données et fonctionnalités nécessaires.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn