[{"data":1,"prerenderedAt":209},["ShallowReactive",2],{"term-r\u002Frouter":3,"related-r\u002Frouter":192},{"id":4,"title":5,"acronym":6,"body":7,"category":172,"description":173,"difficulty":174,"extension":175,"letter":176,"meta":177,"navigation":178,"path":179,"related":180,"seo":186,"sitemap":187,"stem":190,"subcategory":6,"__hash__":191},"terms\u002Fterms\u002Fr\u002Frouter.md","Router",null,{"type":8,"value":9,"toc":166},"minimark",[10,15,19,23,26,30,155,159,162],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"The router is the traffic cop of your backend. Every incoming request goes through the router first, and it decides which piece of code should handle it based on the URL. Without a router, requests would just get lost.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"A router is a component that matches incoming requests to their appropriate handler functions based on the HTTP method and URL path. It organizes routes and can apply middleware to groups of routes, keeping the application structure clean.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const userRouter = express.Router();\nuserRouter.get('\u002F', getUsers);\nuserRouter.post('\u002F', createUser);\napp.use('\u002Fapi\u002Fusers', userRouter);\n","javascript","",[38,39,40,72,103,128],"code",{"__ignoreMap":36},[41,42,45,49,53,57,60,63,66,69],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"spNyl","const",[41,50,52],{"class":51},"sTEyZ"," userRouter ",[41,54,56],{"class":55},"sMK4o","=",[41,58,59],{"class":51}," express",[41,61,62],{"class":55},".",[41,64,5],{"class":65},"s2Zo4",[41,67,68],{"class":51},"()",[41,70,71],{"class":55},";\n",[41,73,75,78,80,83,86,89,93,95,98,101],{"class":43,"line":74},2,[41,76,77],{"class":51},"userRouter",[41,79,62],{"class":55},[41,81,82],{"class":65},"get",[41,84,85],{"class":51},"(",[41,87,88],{"class":55},"'",[41,90,92],{"class":91},"sfazB","\u002F",[41,94,88],{"class":55},[41,96,97],{"class":55},",",[41,99,100],{"class":51}," getUsers)",[41,102,71],{"class":55},[41,104,106,108,110,113,115,117,119,121,123,126],{"class":43,"line":105},3,[41,107,77],{"class":51},[41,109,62],{"class":55},[41,111,112],{"class":65},"post",[41,114,85],{"class":51},[41,116,88],{"class":55},[41,118,92],{"class":91},[41,120,88],{"class":55},[41,122,97],{"class":55},[41,124,125],{"class":51}," createUser)",[41,127,71],{"class":55},[41,129,131,134,136,139,141,143,146,148,150,153],{"class":43,"line":130},4,[41,132,133],{"class":51},"app",[41,135,62],{"class":55},[41,137,138],{"class":65},"use",[41,140,85],{"class":51},[41,142,88],{"class":55},[41,144,145],{"class":91},"\u002Fapi\u002Fusers",[41,147,88],{"class":55},[41,149,97],{"class":55},[41,151,152],{"class":51}," userRouter)",[41,154,71],{"class":55},[11,156,158],{"id":157},"when-youll-hear-this","When You'll Hear This",[16,160,161],{},"\"Set up a router for all the auth endpoints.\" \u002F \"The router is returning 404 for that path.\"",[163,164,165],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":74,"depth":74,"links":167},[168,169,170,171],{"id":13,"depth":74,"text":14},{"id":21,"depth":74,"text":22},{"id":28,"depth":74,"text":29},{"id":157,"depth":74,"text":158},"backend","The router is the traffic cop of your backend.","beginner","md","r",{},true,"\u002Fterms\u002Fr\u002Frouter",[181,182,183,184,185],"Route","Endpoint","Middleware","Controller","Express",{"title":5,"description":173},{"changefreq":188,"priority":189},"weekly",0.7,"terms\u002Fr\u002Frouter","_vcV5CXOtLVrbMhxF91-B-VOSPAo-F3DD_-o3lpP8IM",[193,197,200,203,206],{"title":184,"path":194,"acronym":6,"category":172,"difficulty":195,"description":196},"\u002Fterms\u002Fc\u002Fcontroller","intermediate","A controller is the manager who actually handles your request after it passes through security.",{"title":182,"path":198,"acronym":6,"category":172,"difficulty":174,"description":199},"\u002Fterms\u002Fe\u002Fendpoint","An endpoint is a specific URL that your API listens on for requests.",{"title":185,"path":201,"acronym":6,"category":172,"difficulty":174,"description":202},"\u002Fterms\u002Fe\u002Fexpress","Express is the most popular framework for building Node.js backends.",{"title":183,"path":204,"acronym":6,"category":172,"difficulty":195,"description":205},"\u002Fterms\u002Fm\u002Fmiddleware","Middleware is like a security checkpoint at an airport.",{"title":181,"path":207,"acronym":6,"category":172,"difficulty":174,"description":208},"\u002Fterms\u002Fr\u002Froute","A route is like a road sign that tells incoming requests where to go.",1776518308908]