我试图连接到一个RESTful的Web服务,但我有一些麻烦,尤其是通过PUT和DELETE发送数据时。 用cURL,PUT需要一个文件发送,而DELETE只是奇怪的。 我完全有能力使用PHP的套接字支持编写客户端,并自己编写HTTP头,但是我想知道您们是否曾经使用过或看过过REST客户端的PHP?
我有一个基于Dropwizard的泽西REST服务在默认端口8080(服务)和8081(pipe理员)上运行,我需要将默认端口更改为不太常用的东西,我无法find任何信息这样做,有人能指点我吗?
WCF和REST和SOAP之间有什么关系? WCF是基于这些技术之一(REST还是SOAP),还是一种独立的技术?
什么是删除多个项目的REST方式? 我的用例是我有一个骨干集合,我需要能够一次删除多个项目。 选项似乎是: 为每一条logging发送一个DELETE请求(如果有潜在的几十个项目,这似乎是一个坏主意); 发送一个DELETE,其中要删除的ID在URL中串联在一起(即“/ records / 1; 2; 3”); 以非REST方式发送包含标记为删除的ID的自定义JSON对象。 所有选项都不尽如人意。 这似乎是REST约定的一个灰色区域。
我正在寻找一个可以帮助我生成RESTful API文档的工具。 我的服务器是用Java编写的,使用了Spring MVC框架。 我的服务器中没有VIEWS。 这是一个100%的RESTful服务,它所做的就是使用JSON并吐出JSON。 我想知道Swagger是否与Spring注释兼容?
我有一个服务定义如下。 public String getData(@QueryParam("date") Date date) 我试图从我的客户端(这是CXF的jaxrs:客户端,而不是通用的HTTP客户端或浏览器)传递一个java.util.Date到它。 我的服务在HTTP URL中收到date为Thu Mar 01 22:33:10 IST 2012 。 由于CXF将无法使用此string创buildDate对象,因此我的客户端收到404错误。 我尝试在服务端使用ParameterHandler ,但我仍然无法成功parsing它,因为我不期望在任何特定格式的date。 根据这篇文章 ,传递Date应该是开箱即用,但我似乎无法得到基本的情况下工作。 我是否需要做任何事情才能成功地将我的客户的Date对象传递给服务? 感谢任何帮助。 谢谢
我正在尝试使用cURL创build一个HTTP PUT请求,我无法使其工作。 我已经阅读了许多教程,但没有一个真正起作用。 这是我现在的代码: $filedata = array('metadata' => $rdfxml); $ch = curl_init($url); $header = "Content-Type: multipart/form-data; boundary='123456f'"; curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array($header)); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($filedata)); $returned = curl_exec($ch); if (curl_error($ch)) { print curl_error($ch); } else { print 'ret: ' .$returned; } 我也尝试使用PHP梨,但得到了相同的结果。 问题是存储库说没有设置元数据。 我真的需要帮助! 谢谢!
我build立了自己的Ajax网站,并且正在考虑REST和RPC之间的关系。 如果我的服务器支持Servlets,我只需要安装并结束问题,但是我的服务器不支持Servlets。 RPC更易于编写(IMO),并且可以用PHP编写。 我所需要的只是一个数据库查询执行器。 我正在使用Dojo Toolkit和JSON。 为什么要selectREST over RPC或RPC over REST?
我正在寻找一个API来检索着名的报价。 我一直在看行情爸爸,STANDS4和我的心脏报价。 有没有人试过一个很好的,最好是REST API检索报价? 它必须能够通过作者得到报价等。
我在我的search首先在stackoverflow我无法find任何答案有关我的问题。 我所能find的只是与REST uridevise有关的问题。 我的问题在后端。 假设我们有两个不同版本的REST URI http://api.abc.com/rest/v1/products http://api.abc.com/rest/v2/products 在后端(服务器端代码)上遵循的最佳方法是在基于版本的这两套api上对现有类进行正确的路由,可pipe理性和重用? 我曾经想过使用不同的@Path注释来定义资源类,例如,分别在包的ProductsResource类中分别包含v1和v2的包,define package com.abc.api.rest.v1.products; @Path("/rest/v1/products") public class ProductsResource {…} package com.abc.api.rest.v2.products; @Path("/rest/v2/products") public class ProductsResource {…} 然后有基于版本的实现逻辑。 这种方法的问题是,当我们只是从一组API中改变一个特定的资源api时,我们不得不将其他类复制到v2包中。 我们可以避免吗? 如何写一个自定义注释说@Version&支持它的版本的值? 现在无论是v1还是v2,这两个请求都会转到相同的资源类。 说例如 package com.abc.api.rest.products; @Path("/rest/{version: [0-9]+}/products") @Version(1,2) public class ProductsResource {…} 更新: Jarrod提供了一个API版本控制的build议来处理标题中的版本。 这也是一种方法,但是我期待在遵循基于URI的版本控制时使用最佳实践