Golang开发一个简单的HTTP服务

服务端

go 复制代码
package main

import (
	"net/http"

	"zdpgo_chi"
	"zdpgo_chi/middleware"
)

func main() {
	// 创建路由
	r := zdpgo_chi.NewRouter()

	// 使用请求ID中间件
	r.Use(middleware.RequestID)

	// 使用日志中间件
	r.Use(middleware.Logger)

	// 使用自动捕获异常中间件
	r.Use(middleware.Recoverer)

	// 首页路由
	r.Get("/", func(w http.ResponseWriter, r *http.Request) {
		w.Write([]byte("hello world"))
	})

	// 启动服务
	http.ListenAndServe(":3333", r)
}

客户端

go 复制代码
package main

import (
	"fmt"
	"zdpgo_resty"
)

func main() {
	client := zdpgo_resty.New()

	// 发送请求
	resp, err := client.R().EnableTrace().Get("http://127.0.0.1:3333/")
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Println(resp.String())
}
相关推荐
郭龙_Jack5 分钟前
Java的虚拟线程 VS Go语言的goroutine
java·golang
艾莉丝努力练剑10 分钟前
【Linux网络】Linux 网络编程:HTTP(一)协议初识
linux·运维·服务器·网络·tcp/ip·计算机网络·http
喵了几个咪14 分钟前
Kratos WebRTC 传输中间件:H5游戏P2P实时音视频与数据通信实战
游戏·微服务·中间件·golang·webrtc·实时音视频·kratos
Arman_22 分钟前
01 Rust 大文件断点上传下载入门:用 rusty-cat 让上传下载更可靠
http·https·rust·tokio·大量阅读·文件分片上传下载
月落归舟1 小时前
深入理解Cookie与Session:解决HTTP无状态的核心方案
网络·网络协议·http
jieyucx15 小时前
Go 语言进阶:构造函数、父子结构体与组合复用详解
服务器·算法·golang·继承·结构体·构造函数
jieyucx18 小时前
Go语言通透教程:结构体定义与方法
服务器·数据库·golang·结构体
念何架构之路18 小时前
GoFrame类型转换详解
golang
m0_5027249521 小时前
golang 、java、c++、javascript 语言switch case异同
java·javascript·c++·golang
菜_小_白1 天前
tcpdump
linux·网络·测试工具·http·tcpdump