“参数字典包含参数”php api的空条目

时间:2013-11-29 00:15:18

标签: php api function curl

好吧,我刚开始使用API​​而且我遇到了问题

这是工作代码的示例,它显示了网络的所有类别

function list_categories(){

    $c = curl_init(); 
    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($c, CURLOPT_HTTPHEADER, $this->xmlHeader);


    curl_setopt($c, CURLOPT_URL, $this->apiUrl . "/api/Categories/Get"); 
    curl_setopt($c, CURLOPT_POSTFIELDS, null); 
    curl_setopt($c, CURLOPT_CUSTOMREQUEST, 'GET'); 
    $contentResult = curl_exec($c); 
    curl_close($c); 
        echo $contentResult;    
}

这就是我尝试购买单品

的时候
function get_product($cod_prod){
            $c = curl_init(); 
    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($c, CURLOPT_HTTPHEADER, $this->xmlHeader);

    curl_setopt($c, CURLOPT_URL, $this->apiUrl . "/api/Product/Get/$cod_prod"); 
    curl_setopt($c, CURLOPT_POSTFIELDS, null); 
    curl_setopt($c, CURLOPT_CUSTOMREQUEST, 'GET'); 
    $contentResult = curl_exec($c);

    curl_close($c); 

    echo $contentResult;
}

使用第二个代码我收到此错误:

请求无效。参数字典包含方法'Secom.Net.WebApi.Models.ProductView Get(Int32)'的非可空类型'System.Int32'的参数'Id'的空条目在'Secom.Net.WebApi.Controllers.ProductController'中。可选参数必须是引用类型,可以为空的类型,或者声明为可选参数。

所有具有变量的函数都会给出相同的错误,所以我认为有些错误,它会在函数外面给出同样的错误......

我不知道该怎么做......谁知道代码有什么问题?


我试过

curl_setopt($c, CURLOPT_POST,true);
    curl_setopt($c, CURLOPT_POSTFIELDS, "Id=$Id");

但是“请求的资源不支持http方法'POST'”

1 个答案:

答案 0 :(得分:0)

对我来说,看起来你的意思是在你的请求中指定一个ID变量,通常作为URL的一部分,并且这不会发生。

找到一种添加相关ID的方法,希望您不会再收到该错误。

编辑:我想我在你的代码中发现了问题。你的报价在错误的位置。

更改

curl_setopt($c, CURLOPT_URL, $this->apiUrl . "/api/Product/Get/$cod_prod");

curl_setopt($c, CURLOPT_URL, $this->apiUrl . "/api/Product/Get/" . $cod_prod);