# Routes Esta sección del servicio se compone de archivos dentro del directorio `/src/routes`, cada uno asociado a la ruta que lleva su nombre. En este directorio debe existir un archivo `index.ts` que será el indice de las rutas, puntualmente, si por ejemplo queremos definir la ruta de `User` que internamente tiene los métodos `getAll` y `update`, el archivo debería llamarse `user.ts` y su código sería: Como regla general para los parámetros, es importante considerar que se puede utilizar: - `body` siempre cuando sea una ruta de tipo `post` o `put` - `params` siempre cuando sea una ruta de tipo `get` o se indique algún `id` en una ruta de tipo `put` o `delete` - `query` siempre cuando sean varios parámetros, la ruta sea de tipo `get` y algunos de ellos puedan ser opcionales Al menos se debe considerar el middleware `auth`. El código resultante quedaría como sigue: ```typescript= // routers/post.ts import { Router } from "express"; import auth from "../middlewares/auth"; import { getAll, getById, upsert, deleteById } from "../controllers/post"; const PostRouter = Router(); PostRouter.get("/getAll", auth, getAll); PostRouter.get("/getById/:id", auth, getById); PostRouter.post("/upsert/:id", auth, upsert); PostRouter.delete("/deleteById/:id", auth, deleteById); export default PostRouter; ``` Dentro de `index.ts` debe definirse de esta forma: ```typescript= // routers/index.ts import PostRouter from "./post"; export { PostRouter }; ``` Ver los siguientes documentos: - [**Creación de servicio BackEnd**](https://hackmd.io/@mGoZaVHZQTWgwFlq-J3U0w/B1eLiECDa)<br> - [**Controllers**](https://hackmd.io/@mGoZaVHZQTWgwFlq-J3U0w/SyFI9PAvT)<br> - [**Models**](https://hackmd.io/@mGoZaVHZQTWgwFlq-J3U0w/Hy5jcPCvp)<br> - [**Queries**](https://hackmd.io/@mGoZaVHZQTWgwFlq-J3U0w/B1KJswCv6)<br> - [**Schemas**](https://hackmd.io/@mGoZaVHZQTWgwFlq-J3U0w/Syhv28zk0)<br>