Laravel Postman Crud在URL中使用ID

时间:2019-12-18 10:22:25

标签: laravel api postman

所以我在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

谢谢!

1 个答案:

答案 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();
}