Open Werfter22 opened 1 day ago
Controller::Users Beispiel:
package Controller::Users;
use strict;
use warnings;
use Mojolicious::Lite;
use Mojo::UserAgent; # For API calls to the database
# Route to fetch and render all users to the users template
get '/users' => sub {
my $c = shift;
# Fetch users from the external database API
my ($users, $error_msg) = get_all_users_from_api();
# Check if users were successfully fetched
if (!$users) {
$c->stash(error_msg => $error_msg || 'Failed to fetch users');
return $c->render(template => 'users', users => []);
}
# Pass the users data to the template
$c->stash(users => $users);
$c->render(template => 'users');
};
# Method to fetch all users via the API
sub get_all_users_from_api {
my $ua = Mojo::UserAgent->new;
my $db_api_url = "http://127.0.0.1:3000/api/users"; # URL of your database API
my $tx = $ua->get($db_api_url);
if ($tx->result->is_success) {
return ($tx->result->json, undef);
} else {
return (undef, "API call failed: " . $tx->result->message);
}
}
1; # End of the module
Das Frontend für Mojolicious wurde erstellt mit den Templates.
Nun müssen die Controller und der API input geändert werden in jedem Controller.
Backend für Template wurde auch zu einem gross Teil erledigt.
Da ich relativ neu mit dem Mojolicious Framework und Perl bin, hatte ich einige Schwierigkeiten bei der Erstellung des CRUDS. Jetzt ist es aber das Ziel, dass ich mit den entsprechenden Templates arbeite und meinen PHP-Code damit ersetzen kann.