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())
}
相关推荐
庞轩px17 分钟前
第三篇:SpringMVC——一个HTTP请求在Spring中经历了什么?
网络协议·spring·http·springmvc·handlermapping·前端控制器
jieyucx9 小时前
Go语言深度解剖:Map扩容机制全解析(增量扩容+等量扩容+渐进式迁移)
开发语言·后端·golang·map·扩容策略
王码码20359 小时前
Go语言的内存管理:原理与实战
后端·golang·go·接口
~|Bernard|13 小时前
一.go语言中slice底层原理(2026-5-7)
golang·go
~|Bernard|16 小时前
二.go语言中map的底层原理(2026-5-8)
算法·golang·哈希算法
平凡但不平庸的码农16 小时前
Go 错误处理详解
开发语言·后端·golang
静心观复16 小时前
从短连接到 gRPC:一文读懂 HTTP 连接模型的演进
网络·网络协议·http
wjhx17 小时前
关于xcode中使用图标
ide·macos·xcode
web守墓人19 小时前
【go语言】go语言实现go-torch, 完成Lenet-5的搭建,训练,以及pth和onnx模型导出
开发语言·后端·golang
平凡但不平庸的码农19 小时前
Go 语言常用标准库详解
开发语言·后端·golang