Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.3k views
in Technique[技术] by (71.8m points)

javascript - What is the proper way to redirect http requests based on the content in database?

While running an express server, what is the proper way to redirect incoming requests?

I have two routes: POST and UPDATE. The POST route is used to create new item to database and UPDATE increases votes in the item.

I would like to use middleware(?) to redirect my requests based on db content:

  • if element with req.param does exist => redirect to UPDATE to handle upvotes

  • else create new element => redirect to POST to handle creation


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I think a simple way of doing this could be:

const middleware = (req, res, next) => {
     req.param.name ? req.url = '/POST' : req.url = '/UPDATE' 
          next();
}
  

, Or you can redirect your request to other routes.

const middleware = (req, res, next) => {
     req.param.name ? res.redirect('/POST') : res.redirect(/UPDATE')
          next();
}

Also, you can make dynamic routes if you have many routes involved doing different things. You can check this: How to call an api from another api in expressjs?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...