Shelf makes it easy to build web applications in Dart by composing request handlers. This package offers a request router for Shelf, matching request to handlers using route patterns.
Also see the shelf_router_generator
package
for how to automatically generate
a Route
using the Route
annotation in this package.
import 'package:shelf_router/shelf_router.dart';
import 'package:shelf/shelf.dart';
import 'package:shelf/shelf_io.dart' as io;
// instantiate a router and configure your routes
var router = Router();
router.get('/hello', (Request request) {
return Response.ok('hello-world');
});
router.get('/user/<user>', (Request request, String user) {
return Response.ok('hello $user');
});
// use a Pipeline to configure your middleware,
// then add the router as the handler
final app = const Pipeline()
.addMiddleware(logRequests())
.addHandler(router);
var server = await io.serve(app, 'localhost', 8080);
See reference documentation of Router
class for more information.
- Package
shelf
for which this package can create routers. - Package
shelf_router_generator
which can generate a router using source code annotations. - Third-party tutorial by creativebracket.com:
- Video: Build RESTful Web APIs with shelf_router
- Sample: repository for tutorial