web_api 0.0.1 web_api: ^0.0.1 copied to clipboard
A libary for creating (resful) apis
web_api #
A library for creating Restful apis
Usage #
The model:
@Serializable() //Each class which is returned by a controller or is a parameter of a controller must have the @Serializable() annotation
class Member{
int id;
String email;
String name;
}
The controller:
class MemberController extends Controller{
@HttpPost("/members")
@MemberLinkProvider()
Member addMember(@Body() Member newMember){
if(DatabaseDummy.members.length==0){
newMember.id=0;
}
else{
newMember.id=DatabaseDummy.members.last.id+1;
}
DatabaseDummy.members.add(newMember);
return newMember;
}
@HttpGet("/members")
List<Member> getMembers(){
return DatabaseDummy.members;
}
}
Your startup method
HttpServer server = await HttpServer.bind(InternetAddress.LOOPBACK_IP_V4,8080);
RequestMapper requestMapper = new RequestMapper((type){
if(type == MemberController){
return new MemberController();
}
});
requestMapper.addController(MemberController);
requestMapper.handle(server);
For more details look at the example folder.
Features and bugs #
Please file feature requests and bugs at the issue tracker.