with Zac Delventhal
with Zac Delventhal
https://api.github.com/users/delventhalz/repos
POST /users/delventhalz/repos
{
"name": "hello-world",
"description": "This is my first repository",
"homepage": "https://github.com",
"private": false,
"has_issues": true,
"has_wiki": true,
"has_downloads": true
}
x++
x = 4
console.log(x)
(safe, idempotent, cacheable)
Retrieves a specified resource or group of resources
GET /users
[
{
"login": "mojombo",
"id": 1,
...
},
{
"login": "defunkt",
"id": 2,
...
},
...
]
GET /users/delventhalz
{
"login": "delventhalz",
"id": 8889580,
...
}
Adds a new document to the specified resource
POST /users/delventhalz/repos
{
"name": "Hello-World",
"description": "This is your first repository",
"homepage": "https://github.com",
"private": false,
"has_issues": true,
"has_wiki": true,
"has_downloads": true
}
(idempotent)
Replaces a resource with a modified version
PUT /repos/delventhalz/hello-world
{
"name": "hello-world",
"description": "This is an updated description",
"homepage": "https://github.com",
"private": false,
"has_issues": true,
"has_wiki": true,
"has_downloads": true
}
Modify a resource with a partial representation
PATCH /repos/delventhalz/hello-world
{
"description": "I just can't decide"
}
(idempotent)
Removes a resource
DELETE /repos/delventhalz/hello-world
var express = require('express');
var apiRouter = require('./api_router');
var app = express();
app.use('/api' apiRouter);
app.listen(3000);
var express = require('express');
var userHandler = require('./users');
var repoHander = require('./repos');
var apiRouter = express.Router();
apiRouter.get('/users/:username', function(req, res) {
res.send( userHandler.fetch(req.params.username) );
});
apiRouter.route('/repos/:username/:repo')
.put(function(req, res) {
res.send(repoHandler.update(
req.params.username,
req.params.repo,
req.body
));
})
.delete(function(req, res) {
res.send(repoHandler.remove(
req.params.username,
req.params.repo
));
});
module.exports = apiRouter;
* POST, PUT, and PATCH should always return a full representation of the new resource
GET /users/:username/repos
thing
identifier
sub-thing
GET /user/repos
POST /user/repos
GET /users/:username/starred
POST /account/update_profile_image
https://api.github.com/...
https://www.github.com/api/
.../repos?sort=created,updated&direction=ascending
key
value
more queries
comma separated
/api/v3/users/delventhalz