- api/common/v1 → api/open/v1,路由前缀 /api/common/v1 → /api/open/v1
- 契约层按子功能拆目录:api/open/v1/tools/{uuid,md5,random,time,ip}/index.go
- 控制器同步拆文件:internal/controller/open/{uuid,md5,random,time,ip}.go
- 命名规则(open 优于 common)与 tools 目录规则记入 AGENTS.md
- 冒烟测试:旧路由 404,新路由 5 端点全部通过
16 lines
432 B
Go
16 lines
432 B
Go
// Package ip defines the GET /tools/ip endpoint contract.
|
|
package ip
|
|
|
|
import "github.com/gogf/gf/v2/frame/g"
|
|
|
|
// IPReq returns the caller's IP information.
|
|
type IPReq struct {
|
|
g.Meta `path:"/tools/ip" method:"get" tags:"Open/Tools" summary:"Client IP info"`
|
|
}
|
|
|
|
// IPRes is the response of IPReq.
|
|
type IPRes struct {
|
|
IP string `json:"ip"`
|
|
Internal bool `json:"internal"` // whether the IP is a private/internal address
|
|
}
|