[Exercicio] Criando Web Services com manutenção de estado
Nesse exercício você irá criar um Web Service que
realize as quatro operações de um banco de dados (CRUD – Create, Read, Update e
Delete). Esse Web Service irá distinguir qual operação realizar através de
parâmetros passados via URL (GET) ou no corpo da sua requisição (POST).
O seu Web Service irá fornecer um serviço de
manipulação de clientes de um sistema. Cada cliente deverá conter: id, nome
completo, e-mail, senha, cargo, salário, CPF, RG, atribuições, data de início
na empresa, data de nascimento.
Uma parte importante do Web Service é a
segurança, já que existem soluções prontas para solucionar o problema da segurança, como por exemplo o OAuth2.0. No entanto, nesse exercício você irá implementar
uma lógica própria apenas para suprir as necessidades de segurança do seu Web
Service.
Para que o exercício esteja completo você deverá
seguir uma tabela de teste. Os testes deverão ser feitos em seu Web Service e
todos deverão ser satisfeitos.
ID
|
Descrição do requisito
|
Estado
|
1
|
O sistema deve
receber um parâmetro “show” e quando ele for igual a “all” todos os clientes
deverão ser exibidos.
|
-
|
2
|
O sistema deverá
exibir os dados de um cliente específico quando for recebido um número de ID
válido.
|
-
|
3
|
O sistema não deverá
mostrar senha, salário, CPF, RG quando solicitado sem uma autenticação de
desenvolvedor.
|
-
|
4
|
O sistema deverá
prover uma forma de inserção de um novo cliente.
|
-
|
5
|
A inserção deverá
verificar se o CPF é único na base de dados.
|
-
|
6
|
A inserção só poderá
acontecer caso seja feita por um desenvolvedor autorizado.
|
-
|
7
|
O sistema deve
permitir que seja feito a atualização de dados de um cliente.
|
-
|
8
|
A atualização só
poderá acontecer por um desenvolvedor autorizado.
|
-
|
9
|
A remoção de um
usuário deverá acontecer somente por um administrador do sistema.
|
-
|
10
|
A exclusão deverá ser
apenas lógica. Os dados não são realmente excluídos do sistema, mas deve
existir uma forma de sinalizar que esses dados foram excluídos.
|
-
|
Versão 01 – O sistema deve ser implementado usando um JSON como
base de dados.
Versão 02 – O sistema deve ser implementado usando um banco de
dados relacional ou Orientado a objetos como Base de dados (mysql, postgres,
mongodb, mariadb etc.)
Post a Comment