我是如何创建一个RESTful API达特我可以将呼叫确保不是100%,但我想尝试。我写了下面的代码:飞镖宁静服务器犯规显示响应数据
import "package:rpc/rpc.dart";
import "dart:io";
final ApiServer _apiServer = new ApiServer(prettyPrint:true);
main() async{
_apiServer.addApi(new TestServer());
HttpServer server = await HttpServer.bind(InternetAddress.ANY_IP_V4, 8088);
server.listen(_apiServer.httpRequestHandler);
print('Server listening on http://${server.address.host}:'
'${server.port}');
}
@ApiClass(name:'test_server', version: 'v1', description: 'This is a test server api to ping for some quick sample data.')
class TestServer {
@ApiMethod(method:'GET', path: 'users')
List<User> getUsers(){
List<User> users = new List<User>();
return users;
}
@ApiMethod(method: 'GET', path: 'users/{id}')
User getUser(int id){
User u;
///TODO: Guts of User.
u = new User(id, "f_test_$id", "f_test_$id");
return u;
}
@ApiMethod(method:'POST', path: 'users/user/{id}/add')
User postUser(int id, UserData usr){
User u;
///TODO: Post the user.
u = User.fromUsrData(usr);
return u;
}
}
这是一个非常简单的,小的,实际上心不是做任何事情。
当我跑镖文件,它会这样说:
Observatory listening on http://127.0.0.1:64969
Server listening on http://0.0.0.0:8088
所以这让我相信,我应该能够ping服务器在本地主机。我在我的浏览器中打电话给http://localhost:8088/test_server/v1/users
它说:{"error":{"code":400,"message":"Invalid request, missing API name and/or version: http://localhost:8088/."}}
它让我困惑。
为什么我在我的定义或如何访问本地主机API做错事的地方?
编辑看来,当我去那个URL,它处于一个永久状态的挂起。它没有做做的比其他任何东西。