Akademi Manajemen Informatika

sandidharma.ac.id – Halo semuanya! Selamat datang di Sandi Dharma Blog. Setelah Mantap membahas tentang AI pada postingan sebelumnya, kali ini kita coba Kepada pindah ke topik yang berbeda. Kita akan membahas bagaimana Metode menambahkan fitur command line pada project ASP.NET Core.

Basa-basi

Tahukah Anda? ASP.NET Core adalah salah satu framework Terkenal yang dikembangkan oleh Microsoft Kepada membangun aplikasi berbasis web. Apakah Anda pernah menggunakan framework ini? Kalau ya, mungkin Anda pernah mengalami kesulitan Kepada menjalankan sebuah perintah melalui terminal Kepada melakukan aksi tertentu di aplikasi Anda. Salah satu aksi yang biasanya Mau dilakukan adalah berinteraksi dengan database, seperti mengisi data (seeding), menghapus atau merubah suatu data tertentu. Masalahanya adalah ASP.NET Core Tak Mempunyai fitur Kepada menjalankan perintah spesifik yang kita buat Tertentu Kepada aplikasi kita. Kepada mengatasi hal itu, saya mencoba Kepada Membikin NugGet Package yang akan memungkinkan Anda Kepada Membikin perintah terminal spesifik sesuai kebutuhan aplikasi Anda. Yuk, lanjut….

READ  Mengenal Sales Force beserta Peran, Tugas, dan 2 Contohnya

Bagaimana Caranya?

Mudah sekali Ges! Yuk, ikuti langkah-langkah berikut!

Install

Pertama, kita perlu install packagenya terlebih dahulu dengan menjalankan perintah berikut:

dotnet add package RuangDeveloper.AspNetCore.Command --version 1.0.1

Note: Ketika tulisan ini dibuat, versi terbaru yang tersedia adalah 1.0.1

Buat Command Class

Pada project Anda, cobalah Kepada Membikin folder bernama “Commands” kemudian buat sebuah file di dalamnya berisi class yang mengimplementasikan interface ICommand. Contohmya seperti berikut:

using System;
using System.Threading.Tasks;
using RuangDeveloper.AspNetCore.Command;

public class SayHello : ICommand
{
    public string Name => "hello";
    public string Description => "Say hello command";

    public async Task ExecuteAsync(string[] args)
    {
        // Misalnya Terdapat proses yang Pelan (query ke database)
        await Task.Delay(1000);

        Console.WriteLine("Hello, world! (Async)");
    }

    public void Execute(string[] args)
    {
        Console.WriteLine("Hello, world! (Sync)");
    }
}

Pada Teladan di atas, kita Membikin sebuah class berama SayHello yang berisi atribut Name dan Description serta method ExecuteAsync dan Execute.

  • Atribut Name digunakan Kepada mengidentifikasi command yang akan kita jalankan di terminal.
  • Atribut Description menjelaskan apa fungsi dari command tersebut. (Ketika tulisan ini dibuat, atribute ini Tak dijelaskan pada dokumentasi project ini karena kelalaian :D, akan diperbaiki pada rilis berikutnya).
  • Method ExecuteAsync digunakan Kepada menjalankan perintah perintah yang bersifat asynchronous.
  • Method Execute digunakan Kepada menjalankan perintah yang bersifat synchronous.
READ  #30: Struct - Belajar Golang Dari Dasar

Penggunaan ExecuteAsync dan Execute adalah opsional. Anda Tak perlu menggunakan keduanya. Kalau Anda menggunakan method ExecuteAsync, Anda Pandai mengosongkan method Execute, begitu pun sebaliknya.

Registrasikan Command Class

Setelah Membikin command, kita perlu meregistrasikan package dan command yang kita buat ke dalam service collection aplikasi kita. Silahkan buka file Program.cs dan tambahkan kode berikut.

builder.Services.AddCommands(configure =>
{
    configure.AddCommandSayHello>();
});

Modifikasi Metode Aplikasi Dijalankan

Secara default, pada file Program.cs aplikasi kita biasanya dijalankan dengan method .Run(). Agar Pandai menjalankan command yang kita buat, kita perlu menggantinya dengan method .RunWithCommands(). Contohnya seperti berikut:

// Ganti app.Run(); menjadi
app.RunWithCommands(args);

Menjalankan Command Class

Kit Pandai menjalankan command class yang kita buat dengan perintah seperti berikut:

dotnet run command --command hello

Option --command digunakan Kepada menentukan command apa yang akan kita jalankan, dalam hal ini adalah command class kita yang Mempunyai atribut Name bernilai “hello”.

READ  Sistem Informasi Geografis (SIG): Penerapan & 5 Contohnya

Berikut hasilnya:

Hasilnya

Surat keterangan

Anda Pandai lihat dokumentasi Formal Kepada package RuangDeveloper.AspNetCore.Command melalui link berikut:
https://www.nuget.org/packages/RuangDeveloper.AspNetCore.Command/