DevOps研发效能
媒体矩阵
开源中国APP
授权协议 BSD-3-Clause
开发语言 Dart
操作系统 跨平台
软件类型 开源软件
所属分类 Web应用开发Web框架
开源组织
地区 不详
投 递 者 白开水不加糖
适用人群 未知
收录时间 2025-04-21

软件简介

受 Express.js 启发的极简 Dart 后端框架。

特性

  • 类似于 Express.js 的简单直观的 API
  • 内置路由系统,支持参数
  • 请求主体解析 JSON 和表单数据
  • 查询参数处理
  • 路由参数提取
  • 中间件支持
  • 干净且可维护的代码库

安装

将 Wailuku 添加到你的pubspec.yaml

dependencies:
  wailuku: ^0.2.0

基本用法

import 'package:wailuku/wailuku.dart';

void main() async {
  var server = WailukuServer();
  
  // GET request
  server.get('/', (Request req, Response res) {
    res.send('Hello World!');
  });

  // POST request with JSON body
  server.post('/users', (Request req, Response res) {
    var name = req.body['name'];
    var age = req.body['age'];
    
    res.json({
      'message': 'User created',
      'data': {'name': name, 'age': age}
    });
  });

  // Route with parameters
  server.get('/users/:id', (Request req, Response res) {
    var userId = req.getParam('id');
    res.send('User ID: $userId');
  });

  // Query parameters
  server.get('/search', (Request req, Response res) {
    var query = req.getQuery('q');
    res.send('Search query: $query');
  });

  //Middleware examples 

  // simple middleware functions
  void simpleMiddleware(Request req, Response res, Function next) {
    print('simple middleware');
    next();
  }

  void simpleMiddleware2(Request req, Response res, Function next) {
    print('simple middleware 2');
    next();
  }

  // Single middleware
  server.get("/single-middleware", simpleMiddleware, (req, res) => res.send("Hello"));

  // Multiple middlewares
  server.get("/multiple-middlewares", [
    simpleMiddleware,
    simpleMiddleware2
  ], (req, res) => res.send("Hello"));

  // No middleware
  server.get("/no-middleware", (req, res) => res.send("Hello"));

  // Register a Global middleware
  server.use((req, res, next) { 
    print('Global middleware');
    next();
  });

  // Register a Route-specific middleware
  server.usePath("/users", (req, res, next) {
    print('Route-specific middleware');
    next();
  });

  await server.listen('localhost', 8080);
}
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
0 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部