内容简介:如何访问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是众多可用的扩展之一。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- memcached客户端应该具备的功能
- 每个Java开发人员应该知道的五种RESTful客户端代码
- 顶会论文应不应该提交代码?应该,但不能强制
- 单元测试 – 我应该对不应该在函数中传递的数据(无效输入)进行单元测试吗?
- 智能合约事件应该这么用
- 研发职位到底应该怎么设置?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
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》 这本书的介绍吧!