测试Google Endpoint。 http:// localhost:8080 / Vs http:// localhost:8080 // _ ah / api / explorer

时间:2014-12-20 17:44:43

标签: google-app-engine google-cloud-endpoints

我是关于使用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。

1 个答案:

答案 0 :(得分:0)

如果OAuth2受到保护,则无法在没有互联网连接的情况下调用端点方法。使用User param的每个方法都使用auth令牌,必须使用OAuth2服务器进行验证。

要调用未受保护的端点方法,您可以在Linux上使用curlwget实用程序。我相信你会找到适合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"
}