Maison > développement back-end > Golang > le corps du texte

Comment créer une API RESTful et traiter les réponses JSON à l'aide de Golang ?

WBOY
Libérer: 2024-05-31 19:49:00
original
1015 Les gens l'ont consulté

Comment créer et traiter une API RESTful avec des réponses JSON à l'aide des étapes Golang : créez un projet Golang et installez Gorilla Mux. Définissez des itinéraires et gérez les requêtes HTTP. Installez le package de codec JSON pour utiliser le codec JSON. Gère les requêtes en fonction de la méthode de requête, convertit les données en JSON et écrit la réponse.

如何使用 Golang 构建 RESTful API 并处理 JSON 响应?

Comment utiliser Golang pour créer une API RESTful et traiter les réponses JSON

Prérequis

  • Comprendre les bases de Golang
  • Être familier avec le format de données JSON

Créer une API RESTful

1. un projet Golang

go mod init <project-name>
Copier après la connexion

2. Installer le package de routage Gorilla Mux

go get github.com/gorilla/mux
Copier après la connexion

3 Définir les routes

import (
    "github.com/gorilla/mux"
    "net/http"
)

func main() {
    router := mux.NewRouter()
    router.HandleFunc("/", HomeHandler).Methods("GET")
    // ... 其他路由定义
    http.ListenAndServe(":8080", router)
}
Copier après la connexion

4. Installer le package de codecs JSON

func HomeHandler(w http.ResponseWriter, r *http.Request) {
    // 根据请求方法处理请求
    switch r.Method {
    case "GET":
        // ... 处理 GET 请求
    case "POST":
        // ... 处理 POST 请求
    // ... 其他方法处理
    }
}
Copier après la connexion

2. Utilisez le codeur de compilation JSON

go get github.com/json-iterator/go
Copier après la connexion
cas de combat réel

Exemple d'API : obtenir la définition de routage de tous les utilisateurs :

import (
    "encoding/json"
    "fmt"
    "net/http"
)

func WriteJSONResponse(w http.ResponseWriter, data interface{}) {
    w.Header().Set("Content-Type", "application/json")
    if err := json.NewEncoder(w).Encode(data); err != nil {
        // 处理错误
    }
}
Copier après la connexion

programme de traitement des demandes :

router.HandleFunc("/users", GetAllUsersHandler).Methods("GET")
Copier après la connexion
E client :

/users

🎜 Le point de terminaison envoie une requête GET et analyse la réponse JSON. 🎜

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal