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

栏目: 后端 · 前端 · 发布时间: 6年前

内容简介:如何访问RESTful Web服务?这取决于你想要完成的事情。如果您只想测试连接性,像curl这样的基于终端的实用程序是一个很棒的RESTful Web服务客户端。如果要检查服务返回给您的JSON,基于浏览器的插件可能更适合。如果您正处于应用程序开发阶段,您可能需要使用JAX-RS,Spring或类似的框架。以下是每个Java开发人员应该知道的五种:

如何访问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服务客户端的语法是:

$ curl -X GET --header <font>"text:Easter"</font><font> --header </font><font>"language:fr"</font><font> http:</font><font><i>//3.19.68.127/translator-1.0/translate</i></font><font>
</font>

2.RESTful jQuery客户端

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

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

<html><head>
<script src=<font>"jquery.min.js"</font><font>></script>
</head>
<body>
<div id=</font><font>"rest-web-service-client"</font><font>></div>
<script>

$(document).ready(function() {
    $.ajax({
        url: </font><font>"http://3.19.68.127/translator-1.0/translate"</font><font>,
        headers: {</font><font>"language"</font><font>:</font><font>"fr"</font><font>, </font><font>"text"</font><font>:</font><font>"rabbit"</font><font>}
    }).then(function(data) {
       alert(data); </font><font><i>// will display 'lapin'</i></font><font>
    });
});
</script>
</body>
</html>
</font>

3.基于Java的REST客户端

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

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

Socket requestSocket = <b>new</b> Socket(<font>"http://mcnz.com"</font><font>, 8080);
PrintWriter writer = <b>new</b> PrintWriter(requestSocket.getOutputStream(),<b>true</b>);
writer.write(</font><font>"GET language-translator/api"</font><font>);
writer.flush();
<b>while</b>(<b>true</b>) {
                <b>int</b> x = requestSocket.getInputStream().read();
                <b>if</b>(x==-1) {
                                <b>break</b>;
                }
}
writer.close();
requestSocket.close();
</font>

3.RESTful Web服务框架

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

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

HttpHeaders headers = <b>new</b> HttpHeaders();
applyAPIKeyToHeader(key, headers);
headers.setContentType(MediaType.APPLICATION_JSON);
String data = getTextToTranslate(textToTranslate, sourceLanguage, destinationLanguage);
HttpEntity<String> request = <b>new</b> HttpEntity<String>(data, headers);
String url = <font>"www.jdon.com"</font><font>;
ResponseEntity<String> response = restTemplate.postForEntity(url, request, String.<b>class</b>);
String responseBody = response.getBody();
translationResult = objectMapper.readValue(responseBody, TranslationsResult.<b>class</b>);
</font>

4. REST的Chrome扩展程序

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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Iterative Methods for Sparse Linear Systems, Second Edition

Iterative Methods for Sparse Linear Systems, Second Edition

Yousef Saad / Society for Industrial and Applied Mathematics / 2003-04-30 / USD 102.00

Tremendous progress has been made in the scientific and engineering disciplines regarding the use of iterative methods for linear systems. The size and complexity of linear and nonlinear systems arisi......一起来看看 《Iterative Methods for Sparse Linear Systems, Second Edition》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具