# Tut05 Express Part 1
- tut05/a.express
## Starter Code
- For tutor to modify
```ts
import express, { json, Request, Response } from 'express';
import morgan from 'morgan';
import { port, url } from './config.json';
import {
clear,
addNameAge,
editNameAge,
getNamesAges,
getStats,
removeNameAge,
} from './names.ages';
const app = express();
app.use(json());
// For debugging purposes - logs http requests
app.use(morgan('dev'));
// TODO TUTOR 0: /clear
// TODO GROUP 1: /addnameage
// TODO GROUP 2: /getnamesages
// TODO GROUP 3: /editnameage
// TODO GROUP 4: /removenameage
// TODO GROUP 5: /getstats
app.listen(port, () => {
console.log(`Starting Express Server at the URL: '${url}:${port}'`);
});
```
## Tutor 0 - /clear
- Method: `DELETE`
- Parameter Type: `Query`
```ts
app.delete('/clear', (req: Request, res: Response) => {
res.json(clear());
});
```
---
## Group 1 - /addnameage
- Method: post
- Parameter Type: name: string, age: number
```ts
app.post('/addnameage', (req: Request, res: Response) => {
const { name, age } = req.body;
res.json(addNameAge(name, age));
})
```
---
## Group 2 - /getnamesages
- Method: Get
- Parameter Type: minAge?: number
```ts=
console.log('TODO')
app.get('/getnamesages',(req: Request, res: Response) => {
const minAge = req.query.minAge as string
res.json(getnamesages(minAge ? parseInt(minAge) : undefined));
})
```
---
## Group 3 - /editnameage
- Method: Put
- Parameter Type: name: string, age: number
```ts
console.log('TODO')
app.put('/editnameage', (req: Request, res: Response) =>{
const { age, name } = req.body;
res.json(editnameage(age, name))
}
})
```
---
## Group 4 - /removenameage
- Method: 'DELETE'
- Parameter Type: name: string
```ts
app.delete('/removenameage', (req: Request, res: Response) => {
res.json(removeNameAge);
});
```
---
## Group 5 - /getstats
- Method: GET
- Parameter Type: string
```ts
app.get("/getstats", (req: Request, res: Response) => {
const { } = res.query || {};
})
```
---