Tag: rest

如何使用Jersey获得完整的REST请求体?

如何使用Jersey获取POST请求的完整HTTP REST请求主体? 在我们的例子中,数据将是XML。 大小从1K到1MB不等。 该文档似乎表明您应该使用MessageBodyReader但我看不到任何示例。

未findJava类的消息正文编写器

我是使用JAX-RS的新手,并编写了一个输出json对象的示例应用程序。 但我得到一个例外。 这是我的代码: @Path("/hello") public class HelloWorldService { @GET @Path("/query/{artist_id}") @Produces("application/json") public Data getMsg(@PathParam("artist_id") int artist_id, @QueryParam("from") int from, @QueryParam("to") int to) { Data d=new Data(); d.setName("Mateen"); d.setRoll(77); return d; } } 我的数据只是一个POJO类: @XmlRootElement public class Data { private int roll; private String name; public int getRoll() { return roll; } public void setRoll(int roll) […]

如何编写与外部API交互的集成testing?

首先,我的知识在于: unit testing是testing一小段代码(主要是单一方法)的unit testing 。 集成testing是testing多个代码区域(希望已经有自己的unit testing)之间的交互的那些testing。 有时,被测代码的一部分需要其他代码以特定方式进行操作。 这就是Mocks&Stubs进来的地方。所以,我们嘲笑/去掉一部分代码来执行。 这使我们的集成testing可以运行,没有副作用。 所有的testing应该能够独立运行而不需要数据共享。 如果数据共享是必要的,这是一个标志系统不够脱钩。 接下来,我面对的情况是: 当与外部API交互(特别是使用POST请求修改实时数据的RESTful API)时,我知道我们可以(应该)模拟与该API的交互(在此答案中更加雄辩地陈述)集成testing。 我也明白,我们可以unit testing与该API交互的个别组件(构build请求,parsing结果,抛出错误等)。 我没有得到的是如何去实际去做这件事。 所以,最后:我的问题。 如何testing我与具有副作用的外部API的交互? Google的购物内容API就是一个很好的例子。 为了能够执行手头的任务,需要做大量的准备工作,然后执行实际的请求,然后分析返回值。 其中一些没有任何“沙盒”环境 。 执行此操作的代码通常具有相当多的抽象层,如下所示: <?php class Request { public function setUrl(..){ /* … */ } public function setData(..){ /* … */ } public function setHeaders(..){ /* … */ } public function execute(..){ // Do […]

使用REST Web服务的最佳方式是什么?

.NET中使用REST Web服务的最佳方法是什么?

使用PHP创build一个REST API

我正在创build我的第一个API,如果传递了两个值,我应该以JSON格式获得响应。 该号码将作为POSTparameter passing。 使用cURL或任何POST方法可用。 即使这是一个非常基本的,我想知道最佳实践和API应该由模型控制器的基础上创build。 不只是普通的PHP。 我已经谷歌search许多REST API教程。 他们很好,我已经获得了一些知识。 但是我想要得到一个示例代码模型,以便我可以参考它并构build我自己的,以及当然在制作真正的REST API的标准做法中的示例。 如果你问我尝试了什么,作为一个初学者,这将是非常有趣的,我所能做的就是: $num1 = $_REQUEST['num1']; $num2 = $_REQUEST['num2']; $total = $num1 + $num2; echo json_encode($total); 当然,这永远不会被称为API,但仍然。 如果我给这个POST响应,我想从REST API作为JSON的响应。 我应该可以通过REST控制台对其进行testing,以便获得标准响应。 请给我提供一个非常基本但是标准的RESTful API。

REST是什么意思? 这是什么,为什么现在变大了?

一世 理解(我认为)RESTful-ness背后的基本理念。 使用HTTP方法在语义上 – GET获取,PUT放,DELETE删除,等等…对吗? 我认为我理解了REST背后的想法,但我认为我很困惑,与HTTP实施的细节。 rest的动力是什么?为什么这成为重要的事情? 人们真的一直在使用它很长一段时间,在我的手电筒从未闪耀的互联网angular落? Google谈到提到Atom Publishing Protocols与RESTful实现有很多协同作用。 对此有什么想法?

Facebook有公共searchAPI吗?

我似乎无法findFacebooksearchapi的权威词汇:api允许您search公共状态更新和评论/post(目前有一个所有login用户的web界面)。

PHP中“break”或“continue”后的数字是什么意思?

有人可以请示例解释,什么是循环break 2或continue 2在PHP中? 这是什么意思呢,在break或continue之后是一个号码?

无法为类example.Simple创build调用适配器

我正在使用SimpleXml进行改进2.0.0-beta1。 我想从REST服务中检索一个简单的(XML)资源。 用SimpleXML对Simple对象进行编组/解组工作正常。 当使用这个代码(转换后的forms前2.0.0代码): final Retrofit rest = new Retrofit.Builder() .addConverterFactory(SimpleXmlConverterFactory.create()) .baseUrl(endpoint) .build(); SimpleService service = rest.create(SimpleService.class); LOG.info(service.getSimple("572642")); 服务: public interface SimpleService { @GET("/simple/{id}") Simple getSimple(@Path("id") String id); } 我得到这个例外: Exception in thread "main" java.lang.IllegalArgumentException: Unable to create call adapter for class example.Simple for method SimpleService.getSimple at retrofit.Utils.methodError(Utils.java:201) at retrofit.MethodHandler.createCallAdapter(MethodHandler.java:51) at retrofit.MethodHandler.create(MethodHandler.java:30) at retrofit.Retrofit.loadMethodHandler(Retrofit.java:138) at […]

最好的SOAP / REST / RPC Web API的例子? 你为什么喜欢他们? 他们有什么问题?

在我的公司,我们开始分支到Web API来访问和更新我们的数据; 最初是为了合作伙伴,但随后可能会在公众面前。 目前,API的外观(如SOAP,REST,RPC)完全开放,我们还没有做出任何决定,所以我对两个人们认为是好的Web API的例子感兴趣,为什么你认为那。 我感兴趣的是使用不同语言(我们可能会向使用多种平台的用户提供API,特别是.NET,Java,ActionScript和JavaScript)提供关于您认为很好的Web API的意见例子,而且你有很好的经验。 我想说的一些观点: 你喜欢SOAPtypes的服务还是REST / RPCtypes的服务? 我怀疑有平台支持的人(比如.NET,Java)会更喜欢SOAP,而使用没有平台支持的语言的人会更喜欢其他人,但是我想validation这个假设。 你关心一个API是否实际上是RESTful,还是它是一个普通的RPC样式的HTTP GET / POST? 如果是这样,你为什么在意? API是否正确地描述了它本身(比如说,如果它是RPC风格,不要说是REST风格)比它实际上是否是其中之一更重要? 我们需要validation谁在使用该服务。 我一直在看亚马逊S3authentication,它使用公共标识符和用于将请求的参数散列到validation令牌中的私有令牌(这也类似于flickr)。 您之前是否使用过这种authentication方式?您是如何继续使用它的? 有没有你发现的哈希algorithm有问题(即不支持你的平台)? 你希望发送一个HTTP头或在URI的哈希? 如何处理版本控制? 有一个/v1/ type子目录是否是一个好主意,以便将来的版本可以一起添加,或者你会做一些不同的东西,如请求有效载荷或查询中的版本? 多长时间,你会期望一个你所build立的API版本被支持(即如果v2被引入,你期望在v1的生命周期)。 此外,任何其他意见和要点,将是有益的。 我故意对我们正在实施的API的实际types保持模糊,因为我正在寻找关于人们认为是好的API和实现机制的一般指导,所以这篇文章及其答案将对更多的人有用在将来。 注意:我已经search了,并且找不到关于这个的一个通用的问题 – 它们似乎都是特定于某种types的API – 但是如果它是重复的,请让我知道。 此外,如果它应该是社区维基(我认为人们应该得到的答案,所以我没有做到一个),那么请让我知道,我会改变它。