Skip to content

Commit 238bee2

Browse files
committed
melhora para padronização do metodo PUT recebendo dois parametros id + data
1 parent 70ef308 commit 238bee2

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

src/Controllers/UserController.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,16 +94,14 @@ public function login($data) {
9494
}
9595

9696
#[Router('/users/{id}', methods: ['PUT'])]
97-
public function updateUser($id) {
98-
$input = json_decode(file_get_contents('php://input'), true);
99-
97+
public function updateUser($id, $data) {
10098
$userid = $this->userRepository->getUserById($id);
10199
if ($userid) {
102100
$user = new User();
103101
$user->setUsuarioId($id ?? $user->getUsuarioId());
104-
$user->setNome($input['nome'] ?? $user->getNome());
105-
$user->setEmail($input['email'] ?? $user->getEmail());
106-
$user->setSenha($input['senha'] ?? $user->getSenha());
102+
$user->setNome($data->nome ?? $user->getNome());
103+
$user->setEmail($data->email ?? $user->getEmail());
104+
$user->setSenha($data->senha ?? $user->getSenha());
107105

108106
$updatedUser = $this->userRepository->updateUser($user);
109107
if($updatedUser){

src/Rotas/AttributeRouter.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,19 +62,21 @@ public function resolve($method, $uri) {
6262

6363
$metodoRefletido = new ReflectionMethod($intanciaController, $nomeMetodo);
6464
$parametros = $metodoRefletido->getParameters();
65-
65+
6666
$args = [];
6767
foreach ($parametros as $param) {
6868
$nome = $param->getName();
6969
if (isset($params[$nome])) {
7070
$args[] = $params[$nome];
7171
} elseif ($nome === 'data') {
7272
$args[] = $data;
73+
}elseif (count($parametros)==2) {
74+
$args[] = $params[$nome];
75+
$args[] = $data;
7376
} else {
7477
$args[] = null;
7578
}
7679
}
77-
7880
return call_user_func_array([$intanciaController, $nomeMetodo], $args);
7981
}
8082
}

src/agenda.db

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)