Maison >développement back-end >Golang >Comment créer une API RESTful à l'aide de Golang et utiliser gRPC ?
Créer une API RESTful et gRPC à l'aide de Golang
Dans cet article, nous présenterons comment créer des services API RESTful et gRPC dans Golang. Nous couvrirons le processus de configuration de base, en utilisant le framework et fournirons un exemple pratique.
API RESTful
1. Configurez l'environnement
allez chercher github.com/gin-gonic/gin
go get github.com/gin-gonic/gin
2. 创建 RESTful API
在 main.go
文件中:
package main import ( "github.com/gin-gonic/gin" ) func main() { router := gin.Default() router.GET("/hello", HelloHandler) router.Run() // 监听端口 } func HelloHandler(c *gin.Context) { c.JSON(200, gin.H{ "message": "Hello, world!", }) }
gRPC
1. 设置环境
go mod tidy
go get github.com/golang/protobuf/protoc-gen-go
2. 定义 protobuf
创建一个 .proto
文件,定义服务接口和消息类型:
syntax = "proto3"; package example; message HelloRequest { string name = 1; } message HelloResponse { string message = 1; } service HelloService { rpc SayHello (HelloRequest) returns (HelloResponse); }
3. 生成 gRPC 代码
使用 protoc 生成 Go 代码:
protoc --go_out=. --go-grpc_out=. hello.proto
4. 创建 gRPC 服务
在 main.go
2 Créez une API RESTful
dansmain.gocode> Dans le fichier : <p><pre class='brush:go;toolbar:false;'>package main
import (
"context"
"fmt"
"log"
"net"
"example/hello"
"google.golang.org/grpc"
)
type helloServer struct{}
func (s *helloServer) SayHello(ctx context.Context, req *hello.HelloRequest) (*hello.HelloResponse, error) {
return &hello.HelloResponse{Message: "Hello, " + req.Name}, nil
}
func main() {
lis, err := net.Listen("tcp", ":5000")
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
s := grpc.NewServer()
hello.RegisterHelloServiceServer(s, &helloServer{})
log.Println("gRPC server listening on port 5000")
if err := s.Serve(lis); err != nil {
log.Fatalf("failed to serve: %v", err)
}
}</pre></p>
<p>gRPC<strong></strong></p>
<p>1. Configurer l'environnement </p>🎜🎜🎜Installer Golang et Google Cloud Go SDK : <code>go mod spice
🎜🎜Installer gRPC : allez chercher github. com/golang/protobuf/protoc-gen-go
🎜🎜🎜2 Définissez protobuf🎜🎜🎜Créez un fichier .proto
pour définir le service. interface et type de message : 🎜 rrreee🎜🎜3. Générez le code gRPC🎜🎜🎜Utilisez le protocole pour générer le code Go :🎜rrreee🎜🎜4. Créez un service gRPC🎜🎜🎜dans le fichier main.go
: 🎜rrreee🎜🎜Cas pratique : API de blog 🎜🎜🎜 Utilisez l'API RESTful et gRPC pour créer une API de blog qui permet aux utilisateurs de créer, lire, mettre à jour et supprimer des articles de blog. 🎜🎜🎜Conclusion🎜🎜🎜Dans cet article, nous avons présenté comment créer une API RESTful et des services gRPC à l'aide de Golang. Nous avons utilisé le framework Gin pour servir une API RESTful et créé un exemple fonctionnel pour une API de blog utilisant gRPC. Cette combinaison de technologies vous permet de créer des applications API efficaces et évolutives. 🎜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!