Feature/list articles - #21
Conversation
damianopetrungaro
left a comment
There was a problem hiding this comment.
Scusa per il ritardo, ecco qualche commento :)
| $data = $listArticles(); | ||
|
|
||
| return response()->json($data); | ||
| /* |
There was a problem hiding this comment.
Commenti non necessari, rimuovili tranquillamente :)
| return $request->user; | ||
| }); | ||
|
|
||
| Route::get('articles', 'ListArticlesController'); |
There was a problem hiding this comment.
Suggerimento: puoi usare il fqcn importando la classe.
In questo modo se utilizzi un IDE e rinomini la classe o il namespace, automaticamente ti cambiera anche le rotte :)
| Route::get('articles', 'ListArticlesController'); | |
| Route::get('articles', ListArticlesController::class); |
| private $creationDate | ||
| private $id; | ||
|
|
||
| public function __construct(int $id, string $title, string $body, \DateTime $creationDate){ |
There was a problem hiding this comment.
Suggerimento:
Per proteggere il tuo dominio dalle invarianti, puoi utilizzare dei value objects per assicurarti che ID, Title e Body siano validi.
Es:
Cosa succede se passo un id come 0?
Oppure un title come stringa vuota?
| { | ||
| public function __invoke() | ||
| { | ||
| $listArticles = new ListArticles(); |
There was a problem hiding this comment.
Usa la dependency injection ed inietta lo usecase nel costruttore, cosí da rendere il controller testabile :)
public function __invoke()
{
return response()->json(($this->listArticles)());
}
|
|
||
| use LaravelDay\Article\UseCase\ListArticles\ListArticles; | ||
|
|
||
| class ListArticlesController extends Controller |
There was a problem hiding this comment.
Manca un try catch per gestire gli errori.
Cosa succede se hai un errore di connessione al database?
Dove pensi di gestire l'errore?
No description provided.