É um desafio proposto pelo mentor Marco Castro no qual temos como objetivo de preparar os mentorados aos habilidades basilares para o desenvolvedor junior.
Authors routes (/authors/)
GET /authors or GET /authors.json
Parâmetro
Tipo
Descrição
No parameters
[
{
"id": 1,
"name": "Domenico Losurdo",
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
},
{
"id": 2,
"name": "Karl Marx",
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
GET /authors/${id} or GET /authors/${id}.json
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID do authors que você quer
[
{
"id": 1,
"name": "Domenico Losurdo",
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID do autor que você quer
{
"message": "Autor deletado com sucesso"
}
{
"error": "bad input parameter"
}
POST /authors or POST /authors.json
Parâmetro
Tipo
Descrição
No parameters
{
"name": "Domenico Losurdo",
}
[
{
"id": 1,
"name": "Domenico Losurdo",
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
PUT /authors/${id} or PUT /authors/${id}.json
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID do livro que você quer
{
"name": "Domenico Losurdo",
}
[
{
"id": 1,
"name": "Domenico Losurdo",
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
GET /books or GET /books.json
Parâmetro
Tipo
Descrição
No parameters
[
{
"id": 1,
"titulo": "Manifesto Comunista",
"published_at": "2013-08-24T09:12:33.001Z",
"author_id": 1,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
},
{
"id": 2,
"titulo": "O Estado e a Revolução",
"published_at": "2012-05-24T09:12:33.001Z",
"author_id": 3,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
GET /books/${id} or GET /books/${id}.json
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID do livro que você quer
[
{
"id": 1,
"titulo": "Manifesto Comunista",
"published_at": "2013-08-24T09:12:33.001Z",
"author_id": 1,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID do livro que você quer
{
"message": "Livro deletado com sucesso"
}
{
"error": "bad input parameter"
}
POST /books or POST /books.json
Parâmetro
Tipo
Descrição
No parameters
{
"titulo": "Contra-História do Liberalismo",
"published_at": "2013-08-24T09:12:33.001Z",
"author_id": 1
}
[
{
"id": 1,
"titulo": "Manifesto Comunista",
"published_at": "2013-08-24T09:12:33.001Z",
"author_id": 1,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
PUT /authors/${id} or PUT /authors/${id}.json
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID do autor que você quer
{
"titulo": "Contra-História do Liberalismo",
"published_at": "2013-08-24T09:12:33.001Z",
"author_id": 1
}
[
{
"id": 1,
"titulo": "Manifesto Comunista",
"published_at": "2013-08-24T09:12:33.001Z",
"author_id": 1,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
Accounts routes (/accounts/)
GET /accounts or GET /accounts.json
Parâmetro
Tipo
Descrição
No parameters
[
{
"id": 1,
"account_number": "fisajhios564g56f6g5f4g5dfg54",
"supplier_id": 1,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
},
{
"id": 2,
"account_number": "fisajhios564g56f6g5f4g5dfg74",
"supplier_id": 3,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
GET /accounts/${id} or GET /accounts/${id}.json
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID da conta que você quer
[
{
"id": 1,
"account_number": "fisajhios564g56f6g5f4g5dfg54",
"supplier_id": 1,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID da conta que você quer
{
"message": "Conta deletada com sucesso"
}
{
"error": "bad input parameter"
}
POST /accounts or POST /accounts.json
Parâmetro
Tipo
Descrição
No parameters
{
"account_number": "a5d4f8a445d64fg56a4f564d",
"supplier_id": 1
}
[
{
"id": 1,
"account_number": "fisajhios564g56f6g5f4g5dfg54",
"supplier_id": 1,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
PUT /accounts/${id} or PUT /accounts/${id}.json
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID da conta que você quer
{
"account_number": "a5d4f8a445d64fg56a4f564d",
"supplier_id": 1
}
[
{
"id": 1,
"account_number": "fisajhios564g56f6g5f4g5dfg54",
"supplier_id": 1,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
Accounts routes (/parts/)
GET /parts or GET /parts.json
Parâmetro
Tipo
Descrição
No parameters
[
{
"id": 1,
"descricao": "Folhas com a gramatura 5mm",
"name": "Folhas simples",
"part_number": "fisajhios564g56f6g5f4g5dfg54",
"supplier_id": 1,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
},
{
"id": 2,
"descricao": "Folhas com a gramatura 7.5mm",
"name": "Folhas de destaque",
"part_number": "fisajhios564g56f6g5f4g5dfg78",
"supplier_id": 3,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
GET /parts/${id} or GET /parts/${id}.json
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID da parte que você quer
[
{
"id": 1,
"descricao": "Folhas com a gramatura 5mm",
"name": "Folhas simples",
"part_number": "fisajhios564g56f6g5f4g5dfg54",
"supplier_id": 1,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID da parte que você quer
{
"message": "Parte deletada com sucesso"
}
{
"error": "bad input parameter"
}
POST /parts or POST /parts.json
Parâmetro
Tipo
Descrição
No parameters
{
"descricao": "Capa Dura preto e branco para livros baratos",
"name": "Capa Dura preto e branco",
"part_number": "s5a4fd56as4da54f54fasd",
"supplier_id": 1
}
[
{
"id": 1,
"descricao": "Capa Dura preto e branco para livros baratos",
"name": "Capa Dura preto e branco",
"part_number": "s5a4fd56as4da54f54fasd",
"supplier_id": 1,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
PUT /parts/${id} or PUT /parts/${id}.json
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID da parte que você quer
{
"descricao": "Capa Dura preto e branco para livros baratos",
"name": "Capa Dura preto e branco",
"part_number": "s5a4fd56as4da54f54fasd",
"supplier_id": 1
}
[
{
"id": 1,
"descricao": "Capa Dura preto e branco para livros baratos",
"name": "Capa Dura preto e branco",
"part_number": "s5a4fd56as4da54f54fasd",
"supplier_id": 1,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
Assembly routes (/assemblies/)
GET /assemblies or GET /assemblies.json
Parâmetro
Tipo
Descrição
No parameters
[
{
"id": 1,
"name": "Montagem do Manifesto Comunista",
"book_id": 1,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
},
{
"id": 2,
"name": "Montagem do Manifesto Comunista",
"book_id": 3,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
GET /assemblies/${id} or GET /assemblies/${id}.json
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID da montagem que você quer
[
{
"id": 1,
"name": "Montagem do Manifesto Comunista",
"book_id": 1,
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID da montagem que você quer
{
"message": "Montagem deletada com sucesso"
}
{
"error": "bad input parameter"
}
POST /assemblies or POST /assemblies.json
Parâmetro
Tipo
Descrição
No parameters
{
"name": "Montagem do livro Contra-História do Liberalismo",
"book_id": 2
}
[
{
"id": 2,
"name": "Montagem do livro Contra-História do Liberalismo",
"book_id": 2
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
PUT /assemblies/${id} or PUT /assemblies/${id}.json
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID da montagem que você quer
{
"name": "Montagem do livro Contra-História do Liberalismo",
"book_id": 2
}
[
{
"id": 2,
"name": "Montagem do livro Contra-História do Liberalismo",
"book_id": 2
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
Supplier routes (/suppliers/)
Retorna todas os fornecedores
GET /suppliers or GET /suppliers.json
Parâmetro
Tipo
Descrição
No parameters
[
{
"id": 1,
"name": "Boitempo",
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
},
{
"id": 2,
"name": "Amazon",
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
GET /suppliers/${id} or GET /suppliers/${id}.json
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID do fornecedor que você quer
[
{
"id": 2,
"name": "Amazon",
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID de um fornecedor que você quer
{
"message": "Fornecedor deletado com sucesso"
}
{
"error": "bad input parameter"
}
POST /suppliers or POST /suppliers.json
Parâmetro
Tipo
Descrição
No parameters
[
{
"id": 2,
"name": "Amazon",
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}
PUT /suppliers/${id} or PUT /suppliers/${id}.json
Parâmetro
Tipo
Descrição
id
string
Obrigatório . O ID do fornecedor que você quer
[
{
"id": 2,
"name": "Boitempo",
"created_at": "2016-08-29T09:12:33.001Z",
"updated_at": "2016-08-29T09:12:33.001Z"
}
]
{
"error": "bad input parameter"
}