我已经构建了一个我想要测试的 API。因此,我正在构建一个简单的客户端来尝试不同的功能(CRUD)。下面是更新生产者的功能,效果很好。但是,我还希望能够更新生产者的某些部分,例如地址 (/producers/8?method=put&address=milkyway)。
数组生产者总是包含相同的元素(名称、地址、邮政编码等),但我只想用数组中包含任何内容的元素来更新生产者。我的意思是,例如,如果数组中的name元素为空,则 name 不应包含在 *http_build_query* 中。如果只有name元素包含任何内容,那么只有 name 应该被更新。
所以,假设数组(除了id当然是强制性的)包含地址。如何仅将其动态添加到 *http_build_query* ?
提前致谢!
public function UpdateProducer($producer) {
$url = 'http://localhost/webbteknik2/Labb2/api/v1/producers/ . $producer['id'] . '?method=put';
$data = http_build_query(array(
'name' => $producer['name'],
'address' => $producer['address'],
'zipcode' => $producer['zipcode'],
'town' => $producer['town'],
'url' => $producer['url'],
'imgurl' => $producer['imgurl'],
'latitude' => $producer['latitude'],
'longitude' => $producer['longitude'],
));
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
...
the rest of the curl code
}
注意:我知道这在很多方面都是糟糕的编码,但正如我所说的,我只想尽快通过客户端测试 CRUD 功能。