内容简介:如何访问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客户端代码
- 顶会论文应不应该提交代码?应该,但不能强制
- 单元测试 – 我应该对不应该在函数中传递的数据(无效输入)进行单元测试吗?
- 智能合约事件应该这么用
- 研发职位到底应该怎么设置?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Google将带来什么?
杰夫·贾维斯 / 陈庆新、赵艳峰、胡延平 / 中华工商联合出版社 / 2009-8 / 39.00元
《Google将带来什么?》是一本大胆探索、至关重要的书籍,追寻当今世界最紧迫问题的答案:Google将带来什么?在兼具预言、宣言、思想探险和生存手册性质的这样一《Google将带来什么?》里,互联网监督和博客先锋杰夫·贾维斯对Google这个历史上发展速度最快的公司进行了逆向工程研究,发现了40种直截了当、清晰易懂的管理与生存原则。与此同时,他还向我们阐明了互联网一代的新世界观:尽管它具有挑战性......一起来看看 《Google将带来什么?》 这本书的介绍吧!