jaguar_mongo 2.4.1 jaguar_mongo: ^2.4.1 copied to clipboard
Mongo interceptor for jaguar
library jaguar_mongo.example;
import 'dart:async';
import 'package:jaguar/jaguar.dart';
import 'package:jaguar_reflect/jaguar_reflect.dart';
import 'package:mongo_dart/mongo_dart.dart';
import 'package:jaguar_mongo/jaguar_mongo.dart';
/// Mongo Pool
final mongoPool = MongoPool('mongodb://localhost:27018/test');
@GenController(path: '/contact')
class ContactApi extends Controller {
@GetJson()
Future<List> readAll(Context ctx) async {
Db db = await mongoPool(ctx); // Get [Db]
// Use Db to fetch items
return await (await db.collection('contact').find()).toList();
}
@PostJson()
Future<List> add(Context ctx) async {
Map body = await ctx.bodyAsJsonMap();
Db db = await mongoPool(ctx);
await db.collection('contact').insert(body);
return await (await db.collection('contact').find()).toList();
}
}
main(List<String> args) async {
final server = Jaguar(port: 10000);
server.add(reflect(ContactApi()));
server.log.onRecord.listen(print);
await server.serve(logRequests: true);
}