草庐IT

restful-architecture

全部标签

php - 从 PHP REST Web 服务返回 JSON 结果

我有一个用PHP编写的RESTWeb服务,我使用POST请求调用它(为此使用curl)。Web服务应返回一个JSON文档。问题是,我不确定将此文档发送回Web服务客户端的正确方法是什么。仅仅回显它就足够了吗?现在看来这是我可以让JSON文档出现在POST请求($result变量)结果中的唯一方法:$result=curl_exec($ch); 最佳答案 您可以将结果格式化为数组或对象,然后使用jsonheader回显它。即$result_json=array('name'=>'test','age'=>'16');//headers

php - 对 REST API 服务器上资源的细粒度权限

我正在使用类似REST的API构建数据交换服务器。它不是严格意义上的RESTful,因为服务器持有一些状态,但我离题了。session是使用HTTP身份验证和预分配的APIkey的组合构建的。APIkey允许服务器控制客户端可以访问哪些资源,以及他们在使用它时可以执行哪些操作。每个用户可以有多个key,但每个session只能有一个。一些key必须具有“平面”权限:它们只能查看和操作它们单独存储或以其他方式创建的数据。其他key具有分层或基于角色的权限:除了查看和操作从属于它们的key外,它们还可以执行平面key可以执行的所有操作。将来,某些key可能会被授予特殊权限来创建、注册和委托

php - 创建 REST API 客户端和服务器

我有兴趣创建一个将提供API服务的应用程序。与Facebook类似,终端开发人员将能够注册应用程序并接收个性化数据,以便通过第三方应用程序访问提供的API。目前,我想提供一个PHP和JavaScriptSDK,允许开发人员通过安全方法(私钥-公钥)访问API。我想我或多或少地掌握了如何处理这个问题的总体理解:处理请求的内置REST服务器,一个内置的API服务器,充当请求和REST服务器之间的屏障(验证key、权限等)一个内置的JavaScript库,相当于Facebook的“all.js”,异步到页面,可以动态执行API调用,并向API服务器进行验证。此外,我希望在内部使用API,即通

php - 我应该为 rest api 包装器编写测试吗?

我对整个测试场景非常陌生。我一直在阅读有关BDD测试的文章(在我的案例中,我正在编写PHP应用程序,所以我正在研究将Behat作为BDD框架),我发现它非常有趣。我在网上搜索了一些关于api包装器的bdd测试的信息,但我发现了很多不同的结果。我将使用RESTapi为服务编写一个应用程序。但我还需要编写PHPapi包装器。所以我的问题是,我应该为包装器编写测试吗?我应该编写什么样的测试? 最佳答案 BDD框架可以工作,但考虑到selenium、您的应用程序使用api以及您的api内部发生的事情之间可能发生的事情的可能性,它可能会被证明

php - 通过 PUT 方法上传 Symfony REST 文件

我有一个REST服务,我想通过PUT更新文件。当我使用POST时,我使用以下方法获取上传的文件:/***@varRequest$request*/$request->files->get('file');如何在Symfony框架中将上传的文件作为PUT发送? 最佳答案 当您收到POST请求时,您会收到一个提交的表单,其中包含一个或多个字段,这些字段包括任何文件(可能不止一个文件)。Content-Type是multipart/form-data。当您PUT文件时,文件的数据是请求主体。这就像使用GET下载文件相反,文件的内容是响应主

PHP Rest API,重定向 POST 路由器

我正在尝试编写一个简单的RESTfulphp应用程序。我正在尝试编写一个index.php路由器。我目前拥有的.htaccess文件是RewriteEngineOnRewriteCond%{REQUEST_FILENAME}!-fRewriteCond%{REQUEST_URI}!(\.[a-zA-Z0-9]{1,5}|/)$RewriteRuleapi/^(.*)$api/index.php?_url=/$1[QSA,L]我添加了RewriteCond%{REQUEST_URI}!(\.[a-zA-Z0-9]{1,5}|/)$以强制使用尾部斜线here.调用var_dump($_PO

php - Wordpress Rest API 不适用于 Postman

我正在使用WordPressRESTAPI插件。当我访问GoogleChrome中的API链接时,它会返回一个JSON响应,但如果我尝试将它与Postman一起使用,它就不起作用。相反,它返回此响应:functiontoNumbers(d){vare=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});returne}functiontoHex(){for(vard=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:argument

php - 如何使用 REST 在 RT 中创建带有附件的工单

有谁知道如何使用带有PHP脚本的REST服务在RT(请求跟踪器)中创建带有附件的工单? 最佳答案 删除“附件_1:/tmp/img2.PNG”使用名称为“attachment_1”的addPostFile()添加包含原始附件的POST变量。 关于php-如何使用REST在RT中创建带有附件的工单,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5133565/

php - 转换 Zend_Rest_Route 代码来处理 2 个参数?

我有来自http://www.chrisdanielson.com/2009/09/02/creating-a-php-rest-api-using-the-zend-framework/的Zend代码看起来像这样:$this->bootstrap('Request');$front=$this->getResource('FrontController');$restRoute=newZend_Rest_Route($front,array(),array('default'=>array('version')));$front->getRouter()->addRoute('res

PHP REST API 路由

我一直在研究API并为我们正在进行的项目开发RESTAPI。API只接受来自一个来源的JSON格式的连接,我理解这一点很好。如果能理解所讲的大部分内容,但是我不理解第三个代码示例以及路由信息的去向。他们提供的例子是:$data=RestUtils::processRequest();switch($data->getMethod){case'get'://retrievealistofusersbreak;case'post':$user=newUser();$user->setFirstName($data->getData()->first_name);//justforexamp