2015-03-01 20 views
6

Có cách nào trong Laravel 5 để thực hiện CRUD bằng REST không? Tôi có một API REST đã sử dụng CodeIgniter và tôi muốn ứng dụng Laravel của tôi giao tiếp với nó.Máy khách REST của Laravel 5 CRUD

Vì vậy, chúng ta hãy nói rằng tôi có url này để có được tất cả giới tính: http://api.local/api/api_gender/gender

Trong điều khiển của tôi, có vẻ như tôi có thể làm một cái gì đó như thế này:

$results = json_decode(file_get_contents('http://api.local/api/api_gender/gender/')); 

Nhưng tôi không biết nếu điều này là đúng sự cách để làm điều đó.

Bây giờ, làm thế nào tôi có thể làm điều đó nếu tôi muốn thêm một giới tính mới trong Laravel? Trong CI, tôi chỉ có thể sử dụng thư viện còn lại của Phil và chỉ sử dụng $this->rest->put('http://api.local/api/api_gender/gender/', $parameters)

+0

** bump **. Bất cứ cập nhập nào? – basagabi

+0

Tôi có cùng một vấn đề. Tôi biết rằng [Unirest] (https://github.com/Mashape/unirest-php) có thể xử lý nó, nhưng tôi không thể tìm thấy bất kỳ mã thực tế nào. – quantme

+0

Tôi tình cờ gặp [link] này (http://support.ladesk.com/061754-How-to-make-REST-calls-in-PHP?r=1) Dường như tôi phải tạo ứng dụng REST của riêng mình sử dụng cURL. Hoặc là có một gói đã làm điều này? Tôi thấy gói của nathanmac [link] (https://github.com/nathanmac/laravel-restclient) nhưng nó chỉ hỗ trợ Laravel 4. * – basagabi

Trả lời

9

Tôi sẽ sử dụng Guzzle, một ứng dụng HTTP linh hoạt, rất phổ biến cho PHP. Theo như tôi biết, nó là một trong những gói được sử dụng nhiều nhất để thực hiện các yêu cầu HTTP trong PHP.

$client = new GuzzleHttp\Client(); 

$client->put('http://api.local/api/api_gender/gender/', ['json' => ['foo' => 'bar']]); 
// or 
$client->put('http://api.local/api/api_gender/gender/', ['query' => ['foo' => 'bar']]); 
+0

Tuyệt vời !! Đúng thứ tôi cần! – basagabi