我有一个针对 Google Cloud SQL实例的 Google App Engine项目(API)。我有一个API和SQL实例的完全副本,运行本地。
当我在开发(本地)上执行项目时,我可以很好地探索API。然而,当我继续部署时,所有调用都返回空白。
这是API代码(Java):
@ApiMethod(
name = "test.users.list",
path = "test/users/list",
httpMethod = "get"
)
public UserList testUserList ()
{
UserList users = UserList.getAll();
return users;
}
这是它返回本地:
的内容{
"users": [
{
"id": "3",
"firstName": "Test",
"lastName": "User",
"email": "test@test.com",
"password": "12fc892642c48a8227410f5b6722e1edeeefedfb",
"logins": 0,
"lastLogin": 0,
"roles": [
{
"id": "1",
"name": "user",
"loaded": true
}
],
"fullName": "Test User",
"admin": false,
"lastLoginDat": "1969-12-31T21:00:00.000-03:00",
"loaded": true
},
{
"id": "6",
"firstName": "Test",
"lastName": "User 2",
"email": "test2@test.com",
"password": "c5bc2a33ddffcfb3d61779ab44d7d933e1336b02",
"logins": 0,
"lastLogin": 0,
"fullName": "Test User 2",
"admin": false,
"lastLoginDat": "1969-12-31T21:00:00.000-03:00",
"loaded": true
}
]
}
这是它在服务器资源管理器上返回的内容:
{
"kind": "myapp#usersItem",
"etag": "\"l4AE0sdQvyB-SkumpjWQFJVUZzo/MSGC-asdfasdf\""
}
一些见解:
我真的不知道该做什么或检查。我搜索过类似的东西,却找不到相关的东西。
任何想法都表示赞赏。
答案 0 :(得分:0)
正如Jan指出的那样,GAE本地和制作是两个独立的故事。但是,我会给你一些比这个特定解决方案更好的东西,这是解决这个问题的工具和进一步的问题:
1。转到控制台>计算> App Engine>版本,并确保您上传的后端版本为正确的(请查看上传时间)并已选中或默认。
2. 创建 API测试方法,对数据库执行相当基本的操作,但不调用其他方法,也不使用try / catch块。你在这里尝试提出异常,如果有的话。点击数据库并返回数据所需的所有代码都应该在该方法中。
3。转到资源管理器面板,然后执行测试方法。如果它有效,那么你的问题不在于连接,而在于逻辑。使用(2)的相同方法来测试逻辑。
4. 如果该方法不起作用,请转到:控制台>监控>日志。在那里,您将找到例外跟踪。