DChisel Dart 框架

DChisel 是一个用于创建 REST API 的简单 Dart 框架

pub package

功能

  • 自定义主机服务器和端口
  • GET、POST、PUT、DELETE、PATCH 路由
  • ORM CRUD 到 PostgreSQL

用法

要将 dchisel 添加到您的 Dart 应用程序,请阅读 安装 说明。

主机服务器

默认主机是“localhost”,端口是 8000

import 'package:dchisel/dchisel.dart';

Future<void> main(List<String> arguments) async {
  DChisel().serve();
}

如果您想将主机更改为 0.0.0.0 并将端口更改为 5555,您可以使用

 DChisel().serve(serverHost: '0.0.0.0', serverPort: 5555);

GET 路由

DChisel().routeGet('/hello', (Request request) {
    return 'Hello, World';
});

带有参数的 GET,您可以使用

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

POST 路由

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

如果您想从 POST 请求中获取 Body 值,请使用

var body = await request.body.asJson;

如果您想从 POST 请求中获取 Header 值,请使用

var headers = await request.headers;

PUT 路由

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

PUT 也可以获取 Header 和 Body 请求

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

DELETE 路由

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

Dchisel ORM

目前,DChisel 只支持 PostgreSQL

数据库配置

DChiselDB().configDB(
    host: 'your_host',
    db: 'your_db_name',
    port: your_port, //integer
    username: 'your_db_username',
    password: 'your_db_password');

获取所有数据

DChiselDB().getAll('your_table_name');

使用自定义列和过滤器获取数据

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

如果您希望过滤器包含,只需在您的过滤器值中添加 %,例如

'%your_filter_value%'

创建数据

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

更新数据

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

删除数据

DChiselDB().deleteAll('your_table_name');

删除数据自定义过滤器

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

问题

请在我们的 GitHub 页面上报告任何问题、错误或功能请求。提供商业支持,您可以联系我们:[email protected]

想贡献

如果您想为该插件做贡献(例如,通过改进文档、修复错误或添加很酷的新功能),请仔细阅读我们的 贡献指南,并通过您的 拉取请求 与我们联系。

作者

这个用于 Dart 的 dchisel 框架由 Alphacsoft 开发。

GitHub

https://github.com/alalawy/DChisel