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 -
A string representation of this object. [...]
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator. [...]
inherited