当前位置: 首页 > news >正文

网站域名综合查询制作相册影集软件

网站域名综合查询,制作相册影集软件,武昌区建设局网站,做提升自己的网站接口定义 定义 API 接口文件 接口文件 add.api 的内容如下: syntax "v1"info (title: "API 接口文件示例"desc: "演示如何编写 API 接口文件"author: "一见"date: "2023年12月07日"version: "…

接口定义

  • 定义 API 接口文件

接口文件 add.api 的内容如下:

syntax = "v1"info (title:   "API 接口文件示例"desc:    "演示如何编写 API 接口文件"author:  "一见"date:    "2023年12月07日"version: "v1"
)type AddReq {A int `path:"a"`B int `path:"b"`
}type AddReply {Sum int `json:"sum"`        
}service Adder {@handler addget /add/:a/:b(AddReq) returns(AddReply)
}上述go-zero的api文件定义语法正确吗?
  • 编译 API 接口文件

在 add.api 文件所在目录下,使用 go-zero 的脚手架工具 goctl 编译 add.api 文件:

# goctl api go -api add.api -dir .
Done.

编译成功后的目录结构:

.
├── add.api
├── adder.go # 服务端 main 函数所在文件
├── etc
│   └── adder.yaml # 配置文件
└── internal├── config│   └── config.go # 和配置对应的数据结构├── handler # HTTP 部分代码│   ├── addhandler.go│   └── routes.go├── logic│   └── addlogic.go # 需要实现的业务逻辑代码├── svc│   └── servicecontext.go # 上下文└── types└── types.go # 对应 API 中定义的数据结构

在进一步之前,还需执行“go mod tidy”整理依赖。

目录 etc 下的配置文件 adder.yaml 定义的 API 网关服务的服务端口等:

# cat etc/adder.yaml 
Name: Adder
Host: 0.0.0.0
Port: 8888

如上所示,go-zero 脚手架 goctl 设置的监听端口为 8888 。

  • 编译生成可执行程序文件
go mod tidy
go build -o add_http_server adder.go
  • 启动服务:
# ./add_http_server 
Starting server at 0.0.0.0:8888...
  • 测试服务是否可用:
# curl -i "http://localhost:8888/add"
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Traceparent: 00-97de89193a15ff3704beeab6ab01cbc5-448ad910b934da13-00
Date: Thu, 07 Dec 2023 07:09:36 GMT
Content-Length: 4null

接口实现

go-zero 的脚手架 goctl 生成的是一个空服务,除了返回 null,啥也没干。在函数 Add 中增加实现:

# cat internal/logic/addlogic.go 
package logicimport ("context""api/internal/svc""api/internal/types""github.com/zeromicro/go-zero/core/logx"
)type AddLogic struct {logx.Loggerctx    context.ContextsvcCtx *svc.ServiceContext
}func NewAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *AddLogic {return &AddLogic{Logger: logx.WithContext(ctx),ctx:    ctx,svcCtx: svcCtx,}
}func (l *AddLogic) Add(req *types.AddReq) (resp *types.AddReply, err error) {// todo: add your logic here and delete this lines := req.A + req.B // 新增代码return &types.AddReply{ s }, nil // 新增代码return
}

重新编译执行:

# curl -i "http://localhost:8888/add?a=1&b=3"
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Traceparent: 00-33930e740d4d642dd8a16667af5f6a60-cb450c0bdbb9f6fc-00
Date: Fri, 08 Dec 2023 02:58:48 GMT
Content-Length: 9{"sum":4}
http://www.yayakq.cn/news/941036/

相关文章:

  • 合肥市城乡建设网站黑龙江省建筑信息平台
  • 在元典公司做网站有合同吗wordpress简约清新主题
  • 大型国企网站建设费用特产网站建设方案
  • 怎样建设个人网站龙华网站建设招商
  • 怎样设计网站或网页价格低
  • 网站建设违法行为分销网站建站
  • 如何提高网站安全容桂网站建设
  • 怎么把网站排名到百度前三名漂亮的网站框架
  • 旅游类作业网站怎样才能做好网站优化
  • 网站功能开发需求分析wordpress图片显示
  • 企业网站建设排名口碑新冠目前全国最新情况
  • 网站开发亿玛酷给力5摄影作品网站排行榜
  • 做网站的第一步知名it外包公司
  • 网站推广建设wordpress建站怎么样
  • 怎么建设淘客自己的网站、信誉好的顺德网站建设
  • 浙江网站改版设计公司天水网站建设博客
  • 网站开发设计资料网站免费加速器
  • 贵州网站建设公司有哪些wordpress哪个模版好用
  • 网站流wordpress 微博时间
  • 印度做网站百度广告位价格
  • 如何查询网站二级页面流量外贸网站如何做外链
  • 陆丰网站建设wordpress 插件外链
  • 网站logo是指centos 6 wordpress
  • 北京网站设计确保代码符合w3c深圳龙华公司
  • 知名企业网站建设怎么建设网站百度搜索的到
  • 教育行业建设网站郑州制作网站设计
  • 网站收录系统接网站做项目赚钱吗
  • 网站建设包括两个方面南昌市建设监督网站站长
  • 企业网站搭建教程wordpress inn主题mix
  • 广州康体设备网站建设网站推广员需要做什么