# Rutas

Debemos exponer un endpoint /api/products para nuestro proyecto, es por eso en este punto vamos a realizar dicha tarea.

| Route             | HTTP Verb | Route Middleware   | Description                             |
| ----------------- | --------- | ------------------ | --------------------------------------- |
| /api/products     | GET       |                    | Get list of products                    |
| /api/products     | POST      |                    | Creates a new product                   |
| /api/products/:id | GET       |                    | Get a single user                       |
| /api/products/:id | DELETE    | `hasRole('admin')` | Deletes a product, restriction: 'admin' |

Lo primero será crear nuestro archivo `index.js` dentro `api/product` donde expondremos las rutas asociadas a los verbos HTPP , ejemplo: GET, POST, DELETE

Nuestro archivo `index.js` se verá así:

{% code title="api/product/index.js" %}
```javascript
/**
 * Product
 * @author: Cristian Moreno Zuluaga <khriztianmoreno@gmail.com>
 */

const { Router } = require('express');

const controller = require('./product.controller');

const router = new Router();

router.get('/', controller.index);
router.get('/:id', controller.show);
router.post('/', controller.create);

module.exports = router;

```
{% endcode %}

Ahora debemos agregar el endpoint `/api/products` al archivo de rutas, el cual es la raíz de todas las rutas y por ende, permite exponer las rutas.

{% code title="routes.js" %}
```javascript
/**
 * Main application routes
 * @author: Cristian Moreno Zuluaga <khriztianmoreno@gmail.com>
 */

// Import Endpoints
const helloWorld = require('./api/helloworld');
// New Line
const product = require('./api/product');

module.exports = (app) => {
  app.use('/api/helloworld', helloWorld);
  // New line
  app.use('/api/products', product);
};
```
{% endcode %}

Podemos luego de esto probar en postman, haciendo una petición POST a [`http://localhost:8080/api/products`](http://localhost:8080/api/products)

![Add the new product](https://2312245004-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lgyno4NC7rhy49BAEjN%2F-LhIDeYiajb7arpVzLiJ%2F-LhIDrcfSk3pyw44jR3C%2FScreen%20Shot%202019-06-13%20at%206.45.13%20PM.png?alt=media\&token=1e0c9cbb-fea0-434c-af12-af66f8a24746)
