【发布时间】:2015-04-17 17:52:09
【问题描述】:
我有一个针对 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\""
}
一些见解:
- 我可以(通过 MySQL Workbench)访问本地 SQL 实例和 Google Cloud SQL 外部实例。
- 本地和外部 SQL 实例彼此相等。
- 我还保证可以访问我用来访问数据库的项目(通过 Google Cloud 面板)。
我真的不知道该怎么做或检查。我搜索了类似的东西,但找不到任何相关的东西。
感谢任何想法。
【问题讨论】:
-
您能否包含一个代码 sn-p,说明您正在执行的返回该操作的操作以及您期望从 API 返回的操作。
-
@JanVladimirMostert 完成,希望对您有所帮助。否则让我知道。谢谢。
-
AppEngine 本地和生产环境是两个完全不同的环境,因此在本地它可能会做一件事,而一旦您部署,您可以期望它做一些不同的事情。 Etag 是返回的哈希,据我所知,它是返回数据的 MD5。我看到的结果好像生产数据库中没有数据。
标签: google-app-engine google-cloud-sql