- vừa được xem lúc

CALL API trong Laravel 8

0 0 26

Người đăng: Chuyên Nguyễn Đình

Theo Viblo Asia

Call API qua ví dụ thực tế. Là công việc thường xuyên của các lập trình viên web, đặc biệt là các lập trình viên Backend!

Trong laravel, Intern hoặc Fresher thường viết Function call api trong Controller. Còn với junior & senior họ còn viết trong Command, Service nữa. Bài viết này mình sẽ chia sẻ cách call api trong Controller.

Nào mình cùng bắt đầu nhé!

Đầu tiên mình cần apiUrl, trong dự án Api thường sẽ đến từ lập trình viên Backend. Kèm theo đó, lập trình viên backend sẽ cho bạn biết api cần những thông tin đầu vào là gì để API có thể trả dữ liệu về, nó có dạng như Url thường là: "https://abc.def.xxx/{email}/{phone}"

Trong Url API trên, ta thấy có đường dẫn và 2 biến được đặt trong cặp ngoặc nhọn { } là email và phone. Nghĩa là, API này muốn call nó, chúng ta phải truyền hai biến email và phone vào url. Tùy vào yêu cầu của backend mà dữ liệu được truyền theo phương thức POST hoặc GET khác nhau. Thường dùng là phương thức POST. Trong ví dụ này: $apiUrl có dạng như sau: backend yêu cầu Post email hoặc phone kèm theo để lấy thông tin người dùng trong hệ thống!

và mình sẽ cần biến $postinput như sau:

Tiếp theo mình cần biến $header như sau:

Gần xong rồi, giờ sẽ lấy được dữ liệu về bằng cách kết nối 3 thành phần trên lại với nhau như sau:

Khi mình gọi API, serve bên kia sẽ trả về cho mình trạng thái kết nối: thường có 3 trạng thái hay gặp: 200 - 404 - 500. Trong đó trạng thái 200 là báo kết nối thành công, 404 vs 500 là các lỗi khác nhau. Mình cần kiểm tra trạng thái đó bằng cách check status code thông qua câu lệnh:

Khi status code = 200 nghĩa là kết nối API thành công, ta sẽ lấy dữ liệu từ đó thông qua câu lệnh sau:

dữ liệu ta nhận về thường là một mảng, công việc tiếp theo của mình là truyền mảng đó qua view và hiển thị dữ liệu lên view.

Trên đây là chia sẻ của mình về Post to call api, do là bài viết đầu tiên của mình nên chỗ nào khó hiểu các bạn cho mình ý kiến với nha.

Bài viết tiếp theo của mình sẽ chia sẻ các call api không cần truyền input, các bạn chú ý theo dõi nhé! Cảm ơn các bạn nhiều! Đây là code mẫu của mình:

$apiURL = 'https://abcxyz.vv.vn/v1/user/list';

 $postInput = [ "email" => $emailfillter, "phone" => $phonefillter ]; $headers = [ 'X-header' => 'value' ]; $response = Http::withHeaders($headers)->post($apiURL, $postInput); $statusCode = $response->status(); if ($statusCode == 200) { $responseBody = json_decode($response->getBody(), true); $data = $responseBody; }

Chúc các bạn thành công

Bình luận

Bài viết tương tự

- vừa được xem lúc

Flutter - GetX - Using GetConnect to handle API request (Part 4)

Giới thiệu. Xin chào các bạn, lại là mình với series về GetX và Flutter.

0 0 351

- vừa được xem lúc

API vs WebSockets vs WebHooks: What to Choose?

. Khi xây dựng bất kì một ứng dụng nào, chúng ta đều cần phải có một cơ chế đáng tin cậy để giao tiếp giữa các thành phần của nó. Đây là khi APIs, WebSockets và WebHooks được ứng dụng vào.

0 0 101

- vừa được xem lúc

Sử dụng Fast JSON API serialization trong Ruby on Rails

Ở bài viết này chúng ta sẽ thử tạo 1 project API sử dụng gem fast_jsonapi cho serializer. Đầu tiên là tạo một project API mới. $ rails new rails-jsonapi --database=postgresql --skip-action-mailbox --skip-action-text --skip-spring -T --skip-turbolinks --api. .

0 0 131

- vừa được xem lúc

Test thử ba loại API chụp màn hình Windows

Hiện tại, Windows cung cấp khoảng ba cách để chụp màn hình. Thế thì cái nào là nhanh nhất? Tôi muốn test thử từng cái.

0 0 71

- vừa được xem lúc

Ngừng sử dụng REST cho API — GraphQL là cách tốt hơn

Mở đầu. REST đã được nhiều developers sử dụng để gửi dữ liệu qua HTTP trong khi GraphQL thường được trình bày như một công nghệ thay thế các API REST.

0 0 98

- vừa được xem lúc

Quản lý và sử dụng API trong Nuxt bằng cách sử dụng Repository Pattern

Mở đầu năm mới, à nhầm, mở đầu bài viết. Cái tên NuxtJS chắc hẳn cũng không còn xa lạ gì với những bạn yêu thích VueJS nữa, đương nhiên mình cũng là một chàng trai dành tình yêu to lớn cho frameworks này.

0 0 226