Skip to content

Latest commit

 

History

History
166 lines (137 loc) · 4.78 KB

README.id-ID.md

File metadata and controls

166 lines (137 loc) · 4.78 KB

Dchisel Logo

DChisel Dart Framework

Dchisel adalah dart framework simpel untuk membuat REST API

pub package

English Documentation Indonesia Documentation

Fitur-Fitur

  • Custom host server and port
  • GET, POST, PUT, DELETE, PATCH Routes
  • ORM CRUD to PostgreSQL
  • ORM CRUD to MySQL
  • Global Middleware
  • Specific Route Middleware
  • Auth
  • Base Response Ok & Forbidden
  • Header CORS
  • Base64 decode to File

Penggunaan

untuk menambahkan Dchisel pada aplikasi dart silahkan baca instruksi instalasi di sini : instruksi instalasi

Host Server

"localhost" dan port "8000" adalah host dan port bawaan dari Dchisel

import 'package:dchisel/dchisel.dart';

Future<void> main(List<String> arguments) async {
  DRoute route() {
    var droute = DRoute();
    droute.get('/', (Request req) async => resOk("Hello, DChisel"));
    return droute;
  }
  DChisel().serve(getroutes: route());
}

jika ingin merubah host menjadi 0.0.0.0 dengan port 5555 kamu bisa gunakan:

 droute.get('/hello', (Request request) {
    return 'Hello, World';

GET Route

droute.get('/getparam/<name>', (Request request, String name) {
    return 'Hello, $name';
});
});

jika ingin menambahkan parameter pada Get route kamu bisa gunakan:

DChisel().routeGet('/getparam/<name>', (Request request, String name) {
    return 'Hello, $name';
});

POST Route

droute.post('/hello', (Request request) async {
    return 'Hello, World';
});

jika ingin mendapatkan nilai pada body dari POST request, gunakan:

var body = await request.body.asJson;

jika ingin mendapatkan nilai dari header dari POST request gunakan:

var headers = await request.headers;

PUT Route

droute.put('/hello/<name>', (Request request, String name) async {
  return 'Hello, $name';
});

PUT juga bisa mendapatkan request header maupun request body

var headers = await request.headers;
var body = await request.body.asJson;

DELETE Route

droute.delete('/hello/<name>', (Request request, String name) async {
  return 'Hello, $name';
});

Dchisel ORM

untuk saat ini, Dchisel hanya mendukung PostgreSQL dan MySQL

DB Config (konfigurasi database)

DChiselDB().configDB('dialect', // DIALECT DATABASE, JIKA ANDA MENGGUNAKAN POSTGRESQL MAKA UBAH 'dialect' menjadi 'postgre', JIKA ANDA MENGGUNAKAN MYSQL MAKA UBAH 'dialect' menjadi 'mysql'
///ubah host sesuai dengan host di environtment-mu
    host: 'your_host',
///ubah sesuai nama database di environtment-mu
    db: 'your_db_name',
///ubah sesuai port yang digubnakan
    port: your_port, //integer
///ubah sesuai username pada database
    username: 'your_db_username',
///ubah sesuai password pada database
    password: 'your_db_password');

Get All Data (mengambil seluruh data)

DChiselDB().getAll('your_table_name');

Get Data With Custom Column and Filter (mengambil data pada column dan filter tertentu)

DChiselDB().getOption('your_table_name', 
    column: 'your_column1,your_column2', 
    where: ['your_column_name', 'your_filter_value']);

If you want filter contains, just add % into your filter value, example : jika ingin melakukan 'contains filter', hanya tambahkan '%' pada nilai filter, contoh penggunaan:

'%your_filter_value%'

Create Data

DChiselDB().create('users', data: {
    'your_column_name': 'your_value'
});

Update Data

DChiselDB().update('users', data: {
    'your_column_name': 'your_value'
}, where: ['your_filter_column_name', 'your_filter_value']);

Delete Data

DChiselDB().deleteAll('your_table_name');

Delete Data Custom Filter

DChiselDB().deleteOption('your_table_name', where: ['your_filter_column_name', 'your_filter_value']);

Issues

Mohon jika menemukan masalah, bugs atau permintaan penambahan fitur sebaga issue pada halaman GitHub kami. Dukungan komersial tersedia, anda bisa menghubungi kontak kami di [email protected]>.

Want to contribute

Jika anda ingin melakukan kontribusi (seperti meningkatkan dokumentasi, memecahkan masalah atau menambahkan fitur baru yang keren), Dimohon untuk meninjau Panduan Kontribusi dan kirimkan pull request - mu.

Author

Framework Dchisel untuk Dart ini dikembangkan oleh Alphacsoft.