前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每个Java开发人员应该知道的五种RESTful客户端代码

每个Java开发人员应该知道的五种RESTful客户端代码

作者头像
MavenTalker
发布2019-07-19 11:38:27
2.8K0
发布2019-07-19 11:38:27
举报
文章被收录于专栏:歪脖贰点零歪脖贰点零

如何访问RESTful Web服务?这取决于你想要完成的事情。

如果您只想测试连接性,像curl这样的基于终端的实用程序是一个很棒的RESTful Web服务客户端。如果要检查服务返回给您的JSON,基于浏览器的插件可能更适合。如果您正处于应用程序开发阶段,您可能需要使用JAX-RS,Spring或类似的框架。

以下是每个Java开发人员应该知道的五种:

1.Curl

Curl是一个基于Unix的实用程序,它使开发人员能够从命令行调用URL并生成有关REST响应结果的信息。结果包括头数据,XML,JSON和各种其他参数,信息为纯文本。Linux用户倾向于熟悉curl,因为它通常包含在大多数发行版中。

另一方面,curl不包含在Windows操作系统中,因此Microsoft用户往往不太习惯URL。但是,默认Git安装始终包含Bash以发出分布式版本控制系统命令。随着越来越多的Windows用户采用Git和GitHub,越来越多的开发人员可以立即使用curl命令。

将curl用作简单GET请求的RESTful Web服务客户端的语法是:

代码语言:javascript
复制
$ curl -X GET --header "text:Easter" --header "language:fr" http://3.19.68.127/translator-1.0/translate
2.RESTful jQuery客户端

如果要从基于浏览器的应用程序访问RESTful Web服务,则可能需要使用JavaScript框架。所有流行的JavaScript框架和库,例如AngularJS,Ember.js,React和jQuery,都提供了可以简化基于REST的交互的功能。

以下是用jQuery编写的简单RESTful Web服务客户端的示例:

代码语言:javascript
复制
<html><head>
<script src="jquery.min.js"></script>
</head>
<body>
<div id="rest-web-service-client"></div>
<script>

$(document).ready(function() {
    $.ajax({
        url: "http://3.19.68.127/translator-1.0/translate",
        headers: {"language":"fr", "text":"rabbit"}
    }).then(function(data) {
       alert(data); // will display 'lapin'
    });
});
</script>
</body>
</html>
3.基于Java的REST客户端

开发人员将使用诸如Jakarta EE 或Spring Boot之类的Web开发框架来访问远程API,因为这两个框架都具有用Java编写RESTful Web服务客户端的内置库。

但这种奢侈程度并不是必需的。下面是一个如何在没有像Spring这样的框架的情况下访问RESTful Web服务的示例。此示例仅使用java.net和java.io包:

代码语言:javascript
复制
Socket requestSocket = new Socket("http://mcnz.com", 8080);
PrintWriter writer = new PrintWriter(requestSocket.getOutputStream(),true);
writer.write("GET language-translator/api");
writer.flush();
while(true) {
                int x = requestSocket.getInputStream().read();
                if(x==-1) {
                                break;
                }
}
writer.close();
requestSocket.close();
3.RESTful Web服务框架

所有用于开发企业应用程序和微服务的流行库都能够编写RESTful Web服务客户端。Spring Boot,Jersey 和JAX-RS在API方面略有不同,但它们足够相似,开发人员可以轻松地从一个转换到另一个。

下面是一段代码,展示了如何使用Spring及其RestTemplate创建RESTful Web客户端:

代码语言:javascript
复制
HttpHeaders headers = new HttpHeaders();
applyAPIKeyToHeader(key, headers);
headers.setContentType(MediaType.APPLICATION_JSON);
String data = getTextToTranslate(textToTranslate, sourceLanguage, destinationLanguage);
HttpEntity<String> request = new HttpEntity<String>(data, headers);
String url = "www.jdon.com";
ResponseEntity<String> response = restTemplate.postForEntity(url, request, String.class);
String responseBody = response.getBody();
translationResult = objectMapper.readValue(responseBody, TranslationsResult.class);
4. REST的Chrome扩展程序

如果您无法访问curl并且您不打算编写RESTful Web服务客户端代码,那么您始终可以选择安装将调用基于REST的服务的Chrome或Firefox扩展。Postman是众多可用的扩展之一。

文章来源:https://www.jdon.com/52117

-End-

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MavenTalk 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.Curl
  • 2.RESTful jQuery客户端
  • 3.基于Java的REST客户端
  • 3.RESTful Web服务框架
  • 4. REST的Chrome扩展程序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档