Skip to content
Snippets Groups Projects
Commit 68b33edf authored by Andrej Rasevic's avatar Andrej Rasevic
Browse files

in class api example

parent ebf75da1
No related branches found
No related tags found
No related merge requests found
.DS_Store
node_modules
.env
\ No newline at end of file
14.10.1
\ No newline at end of file
const mongoose = require('mongoose')
const playerSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
sportAffiliatedWith: {
type: String,
required: true
},
countryOfBirth: {
type:String
},
active: {
type: Boolean,
required: true,
default: true
}
})
module.exports = mongoose.model('Player', playerSchema)
\ No newline at end of file
This diff is collapsed.
{
"name": "players-api",
"version": "1.0.0",
"description": "first api in express",
"main": "index.js",
"scripts": {
"devStart": "nodemon server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1",
"mongoose": "^5.13.2"
},
"devDependencies": {
"dotenv": "^10.0.0",
"nodemon": "^2.0.9"
}
}
GET http://localhost:4000/players
###
POST http://localhost:4000/players
Content-Type: application/json
{
"name": "Pete Sampras",
"sportAffiliatedWith": "tennis",
"countryOfBirth": "USA",
"active": "false"
}
\ No newline at end of file
const express = require('express')
const router = express.Router()
const Player = require('./../models/player')
// retrieving all of our players in our database
router.get('/', async (req, res) => {
try {
const players = await Player.find()
res.json(players)
} catch (err) {
res.status(500).json({message: err.message})
}
})
// create a single player in our database
router.post('/', async (req, res) => {
const player = new Player({
name: req.body.name,
sportAffiliatedWith: req.body.sportAffiliatedWith,
countryOfBirth: req.body.countryOfBirth,
active: req.body.active
})
try {
const newPlayer = await player.save()
res.status(201).json(newPlayer)
} catch (err) {
res.status(400).json({message: err.message})
}
})
// retrieve a single player in our database
// update a single player in our database
// delete a single player in our database
module.exports = router
\ No newline at end of file
require('dotenv').config()
const express = require('express')
const app = express()
const mongoose = require('mongoose')
mongoose.connect(process.env.DATABASE_URL, {useNewUrlParser: true, useUnifiedTopology: true})
const db = mongoose.connection
db.on('error', (err) => console.error('error connecting to database'))
db.once('open', () => console.log('Successfully connected to mongo'))
app.use(express.json())
const playersRouter = require('./routes/players')
app.use('/players', playersRouter)
app.listen(4000, () => console.log('Server running on port 4000'))
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment