import 'package:angel3_container/mirrors.dart'; import 'package:angel3_framework/angel3_framework.dart'; import 'package:angel3_framework/http.dart'; @Expose('/controller', method: 'GET') class MyController extends Controller { @Expose('/', method: 'GET') Future route1(RequestContext req, ResponseContext res) async { return "My route"; } } @Expose('/sales', middleware: [process1]) class SalesController extends Controller { @Expose('/', middleware: [process2]) Future route1(RequestContext req, ResponseContext res) async { return "Sales route"; } } bool process1(RequestContext req, ResponseContext res) { res.write('Hello, '); return true; } bool process2(RequestContext req, ResponseContext res) { res.write('From Sales, '); return true; } void main() async { // Using Mirror Reflector var app = Angel(reflector: MirrorsReflector()); // My Controller app.container.registerSingleton(MyController()); await app.mountController(); // Sales Controller app.container.registerSingleton(SalesController()); await app.mountController(); var http = AngelHttp(app); var server = await http.startServer('localhost', 3000); print("Angel server listening at ${http.uri}"); }