我有一个NodeJS Express应用程序,当用户向路径发送POST请求时,它应该从数据库中获取一些信息,然后将其插入调用SendGrid v3 API。
来自数据库的数据与路由有关,我的工作正常,因为路由是/ api /:id,它是文档的MongoDB id。
我有SendGrid代码在路由中工作,但我想把它放在一个单独的文件中,试图保持我的路由文件更清洁,也用于DRY目的,因为我想将Mailer类用于应用程序的其他部分
我使用此链接作为我的代码的基础:https://angularfirebase.com/lessons/sendgrid-v3-nodejs-transactional-email-cloud-function/但这只是在路线中,而我想单独使用。
答案 0 :(得分:0)
将您的邮件功能放在特定路由中,并在/ api /:id路由中调用邮件路由:
post("/api/:id", function(req, res, next){
// do db things
// send post request to /mail/myObject/:id
// do others things
// return result
});
post("/mail/myObject/:id", function(req, res, next){
// get my document from db
// connect to sendgrid
// return result
});