在请求构成另一个资源的资源时,我正在寻找正确的响应代码和消息的一些指导.
例如,GET请求:
用户/ {ID}
用户不存在的地方将返回404,其中未找到用户资源的消息.
我的问题是,当没有找到用户资源时,应该返回以下内容:
用户/ {ID} /朋友
我目前正在返回与第一个示例中相同的代码/消息.我应该回复专门针对朋友资源的消息吗?我个人认为让API客户端意识到找不到父资源更有帮助,因为你有一个更大的URI链.
我很难通过Composer获取Windows Azure的PHP客户端库包.该问题似乎与包所具有的Pear依赖性有关.
composer.json文件的内容:
{
"require": {
"microsoft/windowsazure": "dev-dev"
},
"repositories": [
{
"type": "pear",
"url": "http://pear.php.net"
}
]
}
Run Code Online (Sandbox Code Playgroud)
运行"composer update"后的输出如下:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for microsoft/windowsazure dev-dev -> satisfiable by microsoft/windowsazure[dev-dev].
- microsoft/windowsazure dev-dev requires pear-pear/http_request2 * -> no matching package found.
Run Code Online (Sandbox Code Playgroud)
我过去从未遇到任何困难.我可以根据要求提供更详细的日志.
当尝试克隆DOMNode对象(DOMNode :: cloneNode)时,我遇到了在不同环境中运行它的不一致性,特别是当我打印nodeName属性时克隆无法复制命名空间,例如
$cloneNode = $origNode->cloneNode(true);
echo("old node name = " . $origNode->nodeName);
echo("new node name = " . $cloneNode->nodeName);
Run Code Online (Sandbox Code Playgroud)
result(local - mac os)
"old node name = namespace:Hello"
"new node name = namespace:Hello"
result(local - centos):
"old node name = namespace:Hello"
"new node name = Hello"
在对节点执行任何操作之前,我使用DOMXPath :: registerNamespace注册命名空间.
我发现了违规行($ origNode-> parentNode-> removeChild($ origNode);),删除后会导致克隆按预期工作,无论如何.然而,保持所述线仍然会产生不同的交叉环境结果.一个例子:
<?php
$string = '<?xml version="1.0" encoding="UTF-8"?>
<ns:Root xmlns:ns="http://google.com/">
<ns:Hello>
<ns:World/>
</ns:Hello>
</ns:Root>';
$dom = new \DOMDocument();
$dom->loadXML($string);
$xpath = new \DOMXPath($dom);
$rootNamespace = …Run Code Online (Sandbox Code Playgroud)