Controller class

Controller defines the interface all Jaguar controllers must implement.

before method is called before any route handler belonging to the controller is called.

Use GenController annotation to tell Jaguar that your controller class is a controller.

Implement route handlers as methods in your controller class and annotate them with one of the HttpMethod annotations.

import 'dart:async';
import 'package:jaguar/jaguar.dart';
import 'package:jaguar_reflect/jaguar_reflect.dart';
@GenController(path: '/library')
class LibraryApi extends Controller {
  @Get(path: '/all')
  Future<List<Book>> getAll(Context ctx) => books;

  @Post(path: '/add')
  Future<void> add(Context ctx) {
    // TODO
  }
}

main(List<String> args) async {
  final server = Jaguar(port: 10000);
  server.add(reflect(LibraryApi()));
  await server.serve();
}

Constructors

Controller()
const

Properties

hashCode int
The hash code for this object. [...]
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

before(Context ctx) FutureOr<void>
Called before a route handler is invoked
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
toString() String
Returns a string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator. [...]
inherited