一个简单的问题,我该如何设置路线,以便转到正确的路线,
app.get("/:post",(req,res) => {})
AND
app.get("/post",(req,res) => {})
这种情况发生在我键入“ / post”时,如果服务器应该转到“ / post”路由或“ /:post”,则会感到困惑。这适用于类似“ / publish” /“ / logout” /“ / login”的路由。
请分享有关如何解决此问题的知识,谢谢。
答案 0 :(得分:1)
如果您使用以下路线,则需要将一些parameters
传递到URL
app.get("/:post",(req,res) => {})
但是,如果您正在寻找从URL
不返回任何内容的路线,那么您就在下面的路线中使用了
app.get("/post",(req,res) => {})
因此,如果您使用1条路线,则需要在parameters
中传递一些URL
答案 1 :(得分:0)
这是因为/:post
与您提到的资源(/post
,/publish
,/logout
等)匹配。要解决此问题,请在通配符前使用名词,例如/post/:post
。这样,您就可以避免歧义。
答案 2 :(得分:0)
在这种情况下,路线的顺序也很重要。可以通过在app.get("/post",(req,res) => {})
之前定义路由app.get("/:post",(req,res) => {})
来解决。
在这种情况下,如果您拨打了http://localhost:3000/..../post
之类的电话,请确保将其转到路由/post
,其余的呼叫将转到下一条路由。
..................
app.get("/post",(req,res) => {})
app.get("/:post",(req,res) => {})
...........................
如果我们像上面那样做,那么我认为服务器不会感到困惑。