Después de completar la instalación de goctl, podemos crear un servicio HTTP mínimo para obtener una descripción general del servicio API go-zero de goctl.
# Create workspaces and enter the directory
$ mkdir -p ~/workspace/api && cd ~/workspace/api
# Execute instructions generated demo service
$ goctl api new demo
Done.
Después de ejecutar la instrucción, se generará un directorio de demostración en el directorio actual que contiene un servicio HTTP minimizado, verificaremos la estructura del directorio del servicio.
$ cd ~/workspace/api/demo
$ ls
demo.api demo.go etc go.mod internal
$ tree
.
├── demo.api
├── demo.go
├── etc
│ └── demo-api.yaml
├── go.mod
└── internal
├── config
│ └── config.go
├── handler
│ ├── demohandler.go
│ └── routes.go
├── logic
│ └── demologic.go
├── svc
│ └── servicecontext.go
└── types
└── types.go
Después de completar la generación del código anterior, podemos encontrar los archivos ~/workspace/api/demo/internal/logic/demologic.go, y podemos completar el códigos entre las líneas 27 y 28:
resp = new(types.Response)
resp.Message = req.Name
Después de escribir el código anterior, podemos iniciar el servicio con las siguientes instrucciones:
# Enter service directory
$ cd ~/workspace/api/demo
# to organize dependencies
$ go mod tidy
# Run go program
$ go run demo.go
Cuando vea el siguiente resultado "Starting server at 0.0.0.0.0:888.." indica que el servicio se ha iniciado correctamente, entonces visitamos el servicio HTTP.
$ curl --request GET 'http://127.0.0.0.1:8888/from/me'
Cuando vea el resultado en la terminal {"message":"me"} en nombre de su servicio se inició con éxito.
Y listo!!
Dejo link: https://go-zero.dev/en/docs/tasks/cli/api-demo