所以我在laravel中为客户制作了 crud API ,并想在邮递员中对其进行测试,但是我有一个问题。 我尝试在api中找到客户端的ID,但找不到它,我也不知道为什么。 我想在邮递员网址中输入ID。
在api路由中,我的$ id是这样的:
Route::match(['get', 'post'], "/clients/{id?}", "ApiV2Controller@clients");
并在clients
函数中:
public function clients(Request $request, $id = null){
if($id){
$client = Client::find($id);
if(is_null($client)){
return $this->sendError("404", 'client not found');
}
}
else{
$client = new Client;
}
$client->clt_name = $request->name;
$client->clt_adress = $request->adress;
$client->save();
}
邮递员网址:
localhost:8000/api/v2/clients/19?name=TestName&adress=TestAdress
它说client not found
。
谢谢!
答案 0 :(得分:0)
您的代码没有错误。我认为如果数据库中没有有效的client_id,则您想创建客户端。解决方法如下:
public function clients(Request $request, $id = null)
{
try{
$client = Client::findOrFail($id);
}
catch(\Exception $e){
$client = new Client;
}
$client->clt_name = $request->name;
$client->clt_adress = $request->adress;
$client->save();
}