使用Javascript和节点JS创建控制器API
我是使用Javascript创建REST API控制器的新手,我有一个项目,应该将API放入控制器API组,但是我从我的API代码中搞不清楚应该将哪些代码放入控制器,应该将哪些代码放入服务,下面是一个代码,其中它必须是我的API代码 index.js使用Javascript和节点JS创建控制器API,javascript,node.js,controller,Javascript,Node.js,Controller,我是使用Javascript创建REST API控制器的新手,我有一个项目,应该将API放入控制器API组,但是我从我的API代码中搞不清楚应该将哪些代码放入控制器,应该将哪些代码放入服务,下面是一个代码,其中它必须是我的API代码 index.js ... const transporter = mail.createTransport({ service: service, host: host, auth: { user: user, pass: pass
...
const transporter = mail.createTransport({
service: service,
host: host,
auth: {
user: user,
pass: pass
}
});
router.post('/', routing.requireAuth, (req, res, next) => {
validator.validateBody(req, {
'fullName': {
notEmpty: true
},
'site': {
notEmpty: true
},
'email': {
notEmpty: true
},
'phone': {
notEmpty: true
},
'subject': {
notEmpty: true,
in: {
option: [subject]
}
},
'description': {
notEmpty: true
},
'type': {
notEmpty: true
}
}, (err) => {
if(Err.invalidInput(next,err)) { return; }
var fullName = req.body.fullName;
var site = req.body.site;
var email = req.body.email;
var phone = req.body.phone;
var subject = req.body.subject;
var description = req.body.description;
var type = req.body.type;
const content = 'Name : ' + fullName + '\nSite : ' + site + '\nContact : ' + phone + '\nMessage : ' + description;
const mailOptions = {
from: fullName + '<' + email + '>',
to: sendTo,
replyTo: email,
subject: type + ':' + subject,
text: content
};
transporter.sendMail(mailOptions, (err) => {
if(Err.unexpected(next, err)) { return; }
res.status(201)
.json(req.body)
.end();
});
})
});
module.exports = router;
。。。
const transporter=mail.createTransport({
服务:服务,,
主持人:主持人,,
认证:{
用户:用户,,
通过:通过
}
});
router.post('/',routing.requireAuth,(req,res,next)=>{
validator.ValidateBy(要求{
“全名”:{
注:对
},
“地点”:{
注:对
},
“电子邮件”:{
注:对
},
“电话”:{
注:对
},
“主题”:{
是的,
在:{
选项:[主题]
}
},
“说明”:{
注:对
},
“类型”:{
注:对
}
},(错误)=>{
if(Err.invalidInput(next,Err)){return;}
var fullName=req.body.fullName;
var站点=请求主体站点;
var email=req.body.email;
var phone=req.body.phone;
var subject=req.body.subject;
var description=req.body.description;
变量类型=请求主体类型;
常量内容='Name:'+fullName+'\n站点:'+site+'\n联系人:'+phone+'\n消息:'+description;
常量邮件选项={
发件人:全名+“”,
收件人:sendTo,
回复:电子邮件,
主题:类型+':'+主题,
文本:内容
};
transporter.sendMail(邮件选项,(错误)=>{
if(Err.unexpected(next,Err)){return;}
决议状态(201)
.json(请求正文)
.end();
});
})
});
module.exports=路由器;
谁能帮帮我吗?谢谢您必须创建两个文件夹,一个是路由文件夹,一个是控制器文件夹 在route文件夹中创建
user\u routes.js
或user.js
文件并添加如下代码
const express = require("express");
const router = express.Router();
const UserController = require("../controller/users_controller.js");
router.get("/Signup", UserController.Signup);
other routes related to users
在控制器中创建用户\u controller.js
并添加代码
module.exports = {
Signup : async (req, res) => {
validator.validateBody(req, {
'fullName': {
notEmpty: true
},
'site': {
notEmpty: true
},
'email': {
notEmpty: true
},
'phone': {
notEmpty: true
},
'subject': {
notEmpty: true,
in: {
option: [subject]
}
},
'description': {
notEmpty: true
},
'type': {
notEmpty: true
}
}, (err) => {
if(Err.invalidInput(next,err)) { return; }
var fullName = req.body.fullName;
var site = req.body.site;
var email = req.body.email;
var phone = req.body.phone;
var subject = req.body.subject;
var description = req.body.description;
var type = req.body.type;
const content = 'Name : ' + fullName + '\nSite : ' + site + '\nContact : ' + phone +
'\nMessage : ' + description;
const mailOptions = {
from: fullName + '<' + email + '>',
to: sendTo,
replyTo: email,
subject: type + ':' + subject,
text: content
};
transporter.sendMail(mailOptions, (err) => {
if(Err.unexpected(next, err)) { return; }
res.status(201)
.json(req.body)
.end();
});
})
}
}
module.exports={
注册:异步(请求、回复)=>{
validator.ValidateBy(要求{
“全名”:{
注:对
},
“地点”:{
注:对
},
“电子邮件”:{
注:对
},
“电话”:{
注:对
},
“主题”:{
是的,
在:{
选项:[主题]
}
},
“说明”:{
注:对
},
“类型”:{
注:对
}
},(错误)=>{
if(Err.invalidInput(next,Err)){return;}
var fullName=req.body.fullName;
var站点=请求主体站点;
var email=req.body.email;
var phone=req.body.phone;
var subject=req.body.subject;
var description=req.body.description;
变量类型=请求主体类型;
常量内容='Name:'+fullName+'\n站点:'+site+'\n联系人:'+phone+
“\n消息:”+说明;
常量邮件选项={
发件人:全名+“”,
收件人:sendTo,
回复:电子邮件,
主题:类型+':'+主题,
文本:内容
};
transporter.sendMail(邮件选项,(错误)=>{
if(Err.unexpected(next,Err)){return;}
决议状态(201)
.json(请求正文)
.end();
});
})
}
}
在我的routes文件夹中输入用户所需的imort文件和帮助程序已经有控制器API了,如果在我的routes文件夹中有控制器API,我该怎么办?我已经确切地告诉您必须删除哪些代码以及在何处添加这些代码