【问题标题】:"The parameters dictionary contains a null entry for parameter" php api“参数字典包含参数的空条目”php api
【发布时间】:2013-12-15 02:33:18
【问题描述】:

好吧,我是新来的 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'”

【问题讨论】:

    标签: php api function curl


    【解决方案1】:

    在我看来,您似乎打算在您的请求中指定一个 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);
    

    【讨论】:

    • 我试过 /api/Product/Get?id=$cod_prod 但它显示了同样的错误,也许我错过了什么
    • @user3047498 如果一切都失败了,请尝试直接在浏览器中输入您想要的 URL,并确保您得到响应。它可能只是像 /api/Product/Get/1 这样的数字 id 另外,它可能区分大小写,因此请确保 Product 和 Get 的大写字母是必需的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    相关资源
    最近更新 更多