rest_let 0.0.3
rest_let: ^0.0.3 copied to clipboard
Very simple REST api on based route package
Dart RESTLet
This is a very simple dart package for restful webservices.
This API based on route project. I wanna create api like expressjs, and i hope is useful.
Example
library example;import 'package:rest_let/restlet.dart'; import 'package:route/server.dart'; import 'dart:io'; import 'dart:convert';
final String PATH_TO_WEB = "../web";
void main() { HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 4444) .then((HttpServer server){ print("Server started!"); print("Address: http://${server.address.address}:${server.port}");
Router router = new Router(server); RestServer rest = new RestServer(router); rest.addResource(new Resource("GET", "/api/hello")) .listen((ResourceEvent e){ var request = e.request; print("Request on"); print(request.method); print(request.uri.path); request.response ..statusCode = 200 ..headers .add('Content-Type', 'text/plain') ..write("Hello to") ..close(); }); rest.addResource(new Resource("GET", "/api/hello/:name")) .listen((ResourceEvent e){ var request = e.request; print("Request on"); print(request.method); print(request.uri.path); var route = e.route; var name = route.params['name'].getValue(); request.response ..statusCode = 200 ..headers .add('Content-Type', 'text/plain') ..write("Hello to ${name}") ..close(); }); rest.addResource(new Resource("POST","/api/hello/:id")) .listen((ResourceEvent e){ var request = e.request; var route = e.route; print("Request on"); print(request.method); print(request.uri.path); if (request.contentLength == -1) { request.response ..statusCode = 200 ..write('') ..close(); } else { UTF8.decodeStream(request) .then((data){ var json = JSON.decode(data); var name = json['name']; var age = json['age']; var id = route.params['id'].getValue(); request.response ..statusCode = 200 ..headers .add('Content-Type', 'application/json') ..write(JSON.encode( {'return':{ 'name':name, 'age':age, 'id':id} })) ..close(); }); } }); rest.start();}); }
The project state is under construction, but actualy working. My goal: I wanna create one easy and useful REST API to Dart.