fullstackopen-notes/parts/3/phonebookBackend/index.js
2025-06-01 13:41:45 +02:00

61 lines
1.2 KiB
JavaScript

const express = require("express");
const app = express();
app.use(express.json());
const persons = [
{
id: "1",
name: "Arto Hellas",
number: "040-123456",
},
{
id: "2",
name: "Ada Lovelace",
number: "39-44-5323523",
},
{
id: "3",
name: "Dan Abramov",
number: "12-43-234345",
},
{
id: "4",
name: "Mary Poppendieck",
number: "39-23-6423122",
},
];
app.get("/api/persons", (request, response) => {
response.json(persons);
});
app.get("/api/persons/:id", (request, response) => {
const requestedId = Number(request.params.id);
const requestedPerson = persons.find(
(person) => Number(person.id) === requestedId
);
if (!requestedPerson) {
return response.status(404).json({
error: "ID not found.",
});
}
if (requestedPerson) {
return response.json(requestedPerson);
}
});
app.get("/info", (request, response) => {
let responseString = `<p>Phonebook has info for ${persons.length} people</p>`;
responseString += `<p>${new Date().toString()}</p>`;
const id = request.params.id;
response.send(responseString);
});
const PORT = 3001;
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});