超级详细:Go语言框架Gin和Gorm实现一个完整的待办事项微服务( 三 )

然后获取所有的条目
curl -s -X GET http://localhost:9089/api/v1/todo/ 结果JSON数组格式化输出如下:
超级详细:Go语言框架Gin和Gorm实现一个完整的待办事项微服务文章插图
测试获取单条数据 , 这里使用id=10这一条 , 执行如下指令
curl -s -X GET http://localhost:9089/api/v1/todo/10 返回结果如下:
{"data":{"id":10,"title":"Zen of Golang.","completed":false},"message":"ok","status":1}测试修改该条数据 , 设置completed=1 , 为已完成状态 。
curl -s -X PUT -d "title=Zen of Golang." -d "completed=1" http://localhost:9089/api/v1/todo/10 执行成功返回:
注意更新操作使用的method = PUT 。 会命中第4条路由规则 。
下面删除id=10的条目 , 使用以下指令:
curl -s -X DELETE http://localhost:9089/api/v1/todo/10 执行成功后返回结果:
{"message":"删除成功!","status":1}OK , 上面所有的路由都已经测试完毕 , 看服务器端的访问历史 , 大致如下图:
超级详细:Go语言框架Gin和Gorm实现一个完整的待办事项微服务文章插图
注意到有一条是数据库连接的自动释放 , 这是由MySQL设置的连接超时时间决定的 , 超期闲置则释放 。 如果有新的连接请求 , 重新建立 。 这可以节约资源 。
关键点总结在测试上述功能的时候 , 列出一些初学者可能会犯的错 。
1 - 数据库连接失败
一定要确保连接字符串书写正确 , 账号密码书写正确 , 数据库IP地址和端口号正确 , 还有数据库名称对应 。 如果始终不能连接成长 , 可以尝试单独拿出来数据库连接进行测试 , 直到通过 。
2 - 路由地址
根据设定的路由规则 , 正确地书写路由地址 , 还有传送参数方法 , 这样才能在程序中获取到提交的数据 。
比如使用POST , 传送的表单数据使用 c.PostForm 可以获取到 。 而 c.Param 则用于获取路由中 “/:id” id 这个位置参数 。
3 - curl测试工具使用
注意使用请求方式 -X 参数 , 还有POST中使用的 -d 参数选项 。
结语以上内容使用两个成熟的包 , 快速地创建了一个待办清单的微服务 。 可以看到Go语言生态日臻完善 , 优秀的框架频出 , 给开发带来了很高的效率 。
另外 , GO语言的易于书写特性 , 接近与脚本语言的表达力 , 还有严格的数据类型检测 , 将不少低级的错误排除在编译阶段 。
Happy coding :-)
【本文由 @程序员小助手 发布 , 持续分享编程与程序员成长相关的内容 , 欢迎关注】