Dart Restful Server不显示响应数据

时间:2016-03-08 17:19:14

标签: dart

我不是100%确定如何创建我可以拨打电话的Restful Dart API,但我想尝试一下。我写了以下代码:

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;
  }
}

这是一个非常简单的小型实际上并没有做任何事情。

当我运行dart文件时,它会说:

Observatory listening on http://127.0.0.1:64969
Server listening on http://0.0.0.0:8088

所以它让我相信我应该能够在localhost中ping服务器。我在浏览器中拨打http://localhost:8088/test_server/v1/users

它说:{"error":{"code":400,"message":"Invalid request, missing API name and/or version: http://localhost:8088/."}}让我感到困惑。

我在定义中某处做错了什么或者如何访问localhost API?

编辑似乎当我转到该网址时,它处于永久挂起状态。它除此之外什么都不做。

1 个答案:

答案 0 :(得分:0)

在深入了解该问题后,更改名称等等,似乎我的服务器出现了一些问题,所以我需要结束Dart执行,然后重新启动服务器。

尝试再次转到该链接时:http://localhost:8088/test/v1/users 它完全按照预期工作。