import 'package:angel3_container/mirrors.dart'; import 'package:angel3_framework/angel3_framework.dart'; import 'package:angel3_framework/http.dart'; class Todo extends Model { String? text; String? over; Todo({this.text, this.over}); Map toJson() { return { 'text': text, 'over': over, }; } } @Expose('/todo', method: 'GET') class TodoController extends Controller { @Expose('/') Todo todo(Todo singleton) => singleton; } @Expose('/controller', method: 'GET') class MyController extends Controller { @Expose('/', method: 'GET') Future route1(RequestContext req, ResponseContext res) async { return "My route"; } //Todo todo(Todo singleton) => singleton; } @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()); await app.configure(MyController().configureServer); await app.configure(SalesController().configureServer); var http = AngelHttp(app); var server = await http.startServer('localhost', 3000); print("Angel server listening at ${http.uri}"); }