GoLang实战——微服务网关
package main
import (
"fmt"
"log"
"net/http"
"github.com/gorilla/mux"
)
func main() {
router := mux.NewRouter().StrictSlash(true)
// 定义路由
router.HandleFunc("/products", ProductsHandler).Methods("GET")
router.HandleFunc("/products/{id}", ProductHandler).Methods("GET")
log.Fatal(http.ListenAndServe(":8080", router))
}
// ProductsHandler 返回所有产品列表
func ProductsHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "所有产品列表")
}
// ProductHandler 返回特定ID的产品信息
func ProductHandler(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
id := vars["id"]
fmt.Fprintf(w, "产品ID: %v", id)
}
这段代码使用了gorilla/mux
库来创建一个简单的HTTP服务器,并定义了两个路由处理函数ProductsHandler
和ProductHandler
。服务器监听8080端口,并响应对/products
和/products/{id}
的GET请求。这个例子展示了如何使用Go语言创建一个简单的RESTful API网关。
评论已关闭