我是关于使用Google Endpoint的新手。我在Eclipse EE中导入了来自Google Java示例项目的Helloworld示例。我完成了所有的设置并且测试了。如果我在Chrome浏览器中输入localhost:8080
,我会看到前端,并且没问题。但如果我输入
http://localhost:8080//_ah/api/explorer
用于测试REST API,Chrome(甚至资源管理器)将地址重定向到:
http://apis-explorer.appspot.com/apis-explorer/?base=http://localhost:8080/_ah/api#p/
从这里开始,我可以毫无问题地测试我的REST API。我不是web.xml
文件,pom.xml
文件等所有配置的专家,但我想测试我的后端REST API,而不是在互联网上连接。是否可以在我的本地服务器上离线测试和部署后端REST API,我的意思是,无需连接到Google网站?我使用的是Windows 8.1。
答案 0 :(得分:0)
如果OAuth2受到保护,则无法在没有互联网连接的情况下调用端点方法。使用User
param的每个方法都使用auth令牌,必须使用OAuth2服务器进行验证。
要调用未受保护的端点方法,您可以在Linux上使用curl
或wget
实用程序。我相信你会找到适合Windows的相应工具。
使用API Explorer调用方法时,显示的标题字段包含有关请求的信息。这些数据对于自己调用方法很有用。使用curl并不像使用API Explorer那么容易,但这里有例子:
@ApiMethod(
name = "test",
path = "test",
httpMethod = HttpMethods.GET
)
public StringResult getTest(@Nullable @Named("param") String param) {
return new StringResult("not protected method: " + param);
}
使用API Explorer:
标题
GET http://localhost:8080/_ah/api/app/v1/test
响应
200 OK
{
"value": "not protected method: null"
}
现在在终端上使用curl
curl -X GET http://localhost:8080/_ah/api/app/v1/test
响应
{
"value" : "not protected method: null"
}
使用任何浏览器测试不受保护的GET方法
http://localhost:8080/_ah/api/app/v1/test?param=testParam
浏览器中显示的响应
{
"value" : "not protected method: testParam"
}