调用接口报错,造成的node服务器挂掉,这么脆弱的东西应该如何优化

发布于 2022-09-05 15:26:51 字数 1035 浏览 22 评论 0

写前端的,后端懂得不多,问的问题如果没水平,请多多包涵

我有一个往数据库添加条目的接口,框架是express+mongoose,代码是这么写的:

路由和控制器

clipboard.png

models有三个必填参数

clipboard.png

clipboard.png

然后问题是这样,我调用了一下接口,什么也没传,会报错是在我预期内的,出乎我意料的是,服务器挂了o(╯□╰)o

clipboard.png

这样搞,这服务器也太脆弱了,我试着把控制器里if(error)的情况改成返回错误信息,但是没毛用,并不能阻止服务器挂掉。我觉得正常状态是,会返回错误信息,但是服务器肯定还是正常的才行,不然也太扯了。

我是不是该加个判断,判断上传的数据里是不是有三个必填的参数,如果没有就不让他往后面代码进行来避免错误,不过我还是觉得这容错能力太差了,一个小错误服务器就挂了。

没什么后端经验,请大家多多指教,尽量为我指出,我的理解有什么大的问题?问题在哪里?如何改进?非常感谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

無處可尋 2022-09-12 15:26:51

数据库出错,客户端返回一个错误状态吗和消息不就好了吗,为什么要在服务端抛出错误,你这里throw的意思就是让服务端直接挂掉不返回消息给客户端

亣腦蒛氧 2022-09-12 15:26:51

首先,一个是要谨慎处理所有可能出错的地方,做好try catch,监听进程的uncaughtException,使用cluster等【其实对于一个前端来说,我已经习惯于js出错就挂的小性子了】。
另外,其实开发模式以外的情况,都会使用pm2或是forever之类的做持久化运行,个人比较推荐pm2,各方面管理和log比较清晰。

荆棘i 2022-09-12 15:26:51

node 调试模式 用 nodemon启动

生产模式 用 pm2 管理

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文