Groovy中的简单HTTP GET请求

12

我对Groovy编程非常新手。我编写了一个API,它在我的本地系统(localhost:2100)上运行。

现在我想使用Groovy代码向这个API发起简单的GET请求。我找了很多相关资料,但没有找到清晰的指导。

我尝试了像这样的方法:

http://www.kellyrob99.com/blog/2013/02/10/groovy-and-http/ http://rest.elkstein.org/2008/02/using-rest-in-groovy.html等等,但都无法正常工作。

此外,我还了解到了HttpBuilder,但是我不能很清楚地理解它,请分享你的想法。

编辑:

我尝试了下面的方法:

def client = new RESTClient("http://localhost:2100");
def res = client.get(path:"xxx/yyy/zzz")

我收到了错误信息:

Groovy:unable to resolve class RESTClient

我是否需要在我的pom.xml文件中添加依赖?


@Opal,请查看我编辑过的帖子。 - Subburaj
重复/类似于https://dev59.com/w18e5IYBdhLWcg3wfaYy - MarkHu
3个回答

21

如果您需要进行简单的GET请求,可以使用URL类。例如,要使用GET请求获取example.org的内容:

new URL("http://example.org/").text

1
import groovyx.net.http.HTTPBuilder;

public class HttpclassgetrRoles {
     static void main(String[] args){

         def baseUrl = new URL('http://test.xyz.com/api/state/GetUser')
         HttpURLConnection connection = (HttpURLConnection) baseUrl.openConnection();
         connection.addRequestProperty("Accept", "application/json")
         connection.with {
           doOutput = true
           requestMethod = 'GET'
           println content.text
         }

     }
}

它对我来说绝对有效


0

RESTClient类不是标准Groovy库的一部分。您不仅需要适当的maven条目,还需要导入(通过脚本中的import语句)所需使用的适当类。

这里有一个关于HTTPBuilder的维基网站。


实际上,我已经在Maven POM.xml中添加了该存储库。所以上述问题已得到解决。但HTTP请求正在进入我的API层。 - Subburaj
@Subburaj,如果问题已经解决并且我的回答有帮助,请接受并点赞它。 - Opal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接