egg重写博客接口
发布于 7 年前 作者 k-water 5168 次预览 最后一次回复是 7 年前 来自 分享
之前用React全家桶和Java的SpringBoot重构了自己的个人博客,虽然做出来了,但是还是初成版,自我感觉还是存在很多问题。由于对Java不是完全熟悉,所以写出来的接口可能有些瑕疵,所以最近学习了eggjs,使用了egg重写了后台接口。
项目
项目地址:https://github.com/k-water/egg-blog(喜欢的请点个star^_^)
运行
#1
git clone https://github.com/k-water/egg-blog.git
#2
cd egg-blog
npm install
#3
修改config.default.js中sequelize的配置
mysql的账号密码改为自己的
#4
npm run dev
流程
参考文档
技术选型
后台框架:Egg 数据库:Mysql 插件:egg-sequelize
接口测试
工具:PostMan
数据库设计
数据库设计跟之前的也略有不同,差别的是各实体之间的联系。 实体有
- blogs
- comments
- users
- catalogs
- authorities(用户角色)
ER图如下

实体之间联系

开发的接口

个人总结
基于学习的态度,重写了博客的后台接口,总的来说,egg使用起来还是挺方便的,官方文档写的也很好,基本遇到问题都能在官方issue找到类似的回答,写起来有点像Java的感觉。 这次让我学习到的是,基础要扎实,像数据库的设计这方面,如果学不好,那一开始也无法下手,写出来的接口肯定也是不够好,因为要考虑返回数据格式的问题,什么接口返回什么格式等等。所以基础还是很重要的,之前学的时候一直认为没什么用,反正我又用不到,但是在实践中才发现,这些技能都是需要具备的,干起活来才能事半功倍。另外一点就是要仔细阅读文档,不要急于下手写代码,对一个框架有了初步的掌握,才去下手,那样遇到问题也能快速定位到错误的位置。 以上,就是个人的小小体会啦~
接口文档
16 回复
学习一下
赞,接口测试为啥不直接用单元测试?
@atian25 单元测试这方面还比较弱,正在学习中
@k-water 看下文档,这块非常的简单
@atian25 好的 看完实践一下
文档地址:https://eggjs.org/zh-cn/core/unittest.html
举个例子:
有业务代码:
对应的测试代码:
执行测试:
就这么简单
@atian25 哈哈 done!请教一下像这样的返回的数据比较复杂的,如何测试才能更准确呢
@k-water
@atian25 明白,学习了,谢谢大佬的指点。补充一下
@k-water 那要看下 supertest 的源码了,它们是有个
expect(json)的方式的,可能是在 expect 里面 parser 了,而不是在 res 里面。研究了下,其实已经是 parse 好的,这样就行了:
@atian25 嗯嗯 确实可以 感谢
要写单元测试:https://github.com/x-cold/gallery/blob/master/test/app/controller/api.test.js
@x-cold 用我那方式更优雅一点,我喜欢跟 asset 一样
@x-cold ok
学习了