Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

97
Views
Expresar métodos que tienen comportamientos extraños.

Tengo rutas con el método get.

 app.get("/info/teachers", controller1); app.get("/info/teachers/:teacherid", controller2); app.get("/info/students", controller3); app.get("/info/students/:studentid", controller4); app.get("/info/courses", controller5); app.get("/info/courses/:courseid", controller6); app.get("/info/courses/enrolled/:studentid", controller7); app.get("/info/assists/teachers", controller8); app.get("/info/assists/teachers/:teacherid", controller9); app.get("/info/courses/:teacherid", controller10); app.get("/info/assists/students", controller11); app.get("/info/assists/students/:studentid", controller12);

todos funcionan excepto app.get("/info/courses/:teacherid", controller10);

pero si muevo su posición a:

 app.get("/info/teachers", controller1); app.get("/info/courses/:teacherid", controller10); app.get("/info/teachers/:teacherid", controller2); app.get("/info/students", controller3); app.get("/info/students/:studentid", controller4); app.get("/info/courses", controller5); app.get("/info/courses/:courseid", controller6); app.get("/info/courses/enrolled/:studentid", controller7); app.get("/info/assists/teachers", controller8); app.get("/info/assists/teachers/:teacherid", controller9); app.get("/info/assists/students", controller11); app.get("/info/assists/students/:studentid", controller12);

simplemente funciona; ¿Por qué está pasando esto? todos los controladores funcionan de forma independiente y no necesitan información de los demás.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

No hay distinción entre /info/courses/:teacherid y /info/courses/:courseid . El enrutador elegirá el primero que coincida, y ambos coincidirán con las mismas URL.

En su segundo fragmento, nunca se llamará a controller6 .

Deberá cambiar esa ruta a algo como /info/courses/taught/:teacherid (como lo hizo con /enrolled ), o deberá tener una sola ruta /info/courses/:someId con un controlador que puede distinguir si someId es una identificación de maestro o una identificación de curso. (Diferentes prefijos, tal vez?)

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!