Asked Nov 7th, 2019 3:04 a.m. 2054 0 7
  • 2054 0 7
+3

Lần đầu tiếp xúc API

Share
  • 2054 0 7

chào anh/chị, tình hình là em mới bắt đầu làm một dự án thực tế vàcó liên quan tới web api. mà trước giờ em chỉ nge nói về api mà chưa biết nó áp dụng như thế nào trong dự án cả và củng rất mơ hồ với một fđống lý thuyết trên google.anh chị có kinh nghiệm làm api có thể nói một cách ngắn gọn mà dễ hiểu về api và cách ứng dụng triển khai api trong một dự án đc không ạ.Em cảm ơn

7 ANSWERS


Answered Nov 12th, 2019 8:25 a.m.
Accepted
0

API là một công cụ để giúp các bên giao tiếp với nhau đơn giản hơn. Không chỉ đơn thuần là các URL ở web nó cũng là các hàm của package mà bạn cài đặt. Ví dụ khi bạn sử dụng LARAVEL thì câu lệnh php artsian do_something là một API mà bên LARAVEL cung cấp.

Share
Answered Nov 7th, 2019 3:35 a.m.
+3

Bạn bắt đầu join vào dự án thực tế, có lẽ bạn đã biết kiến thức về web base + mô hình MVC rồi nhỉ, thế này nhé, ví dụ trong mô hình MVC, khi bạn truy cập vào một url nào đó, sẽ chạy trực tiếp vào controller, thao tác, xử lí logic , get dữ liệu các kiểu các kiểu trong controller rồi trả ra view 1 cục data để bạn thao tác hiển thị đúng không. Web API cũng tương tự vậy, nhưng thay vì bạn là người xử lí logic controller và trả về dữ liệu thì có 1 "thằng" khác thao tác và trả về dữ liệu cho bạn rồi ("thằng khác" ở đây có thể chính là bạn, hoặc đội code backend, hay bất kì website nào có hỗ trợ API). Bằng cách này thì dù bạn làm bên frontend web, hay mobile đều có thể có lấy dữ liệu bằng cách gọi đến url API đó, lấy dữ liệu và trả ra view thôi. 😄

Share
Avatar HuyềnNhư @PhanNhuHuyen
Nov 7th, 2019 4:16 a.m.

hi,bạn có thể ví dụ 1 trường hợp cụ thể đc không 😄

0
| Reply
Share
Answered Nov 7th, 2019 3:21 a.m.
+2

Định nghĩa về API thì chắc bạn gg cũng sẽ ra rất nhiều rồi, nên mình sẽ nói một cách đơn giản là API sẽ trả về dữ liệu từ server. Đối với các project lớn thì thường tách ra phần api riêng để sau này dễ phát triển vào bảo trì, ngoài ra cũng có thể public api để cung cấp dịch vụ cho người dùng.

Điển hình như fb cũng public khá nhiều api để cho người dùng sử dung, ví dụ như bạn muốn đếm số tin nhắn đã gửi thì sẽ call đến api:

https://graph.facebook.com/me/threads?limit=50&access_token=?

Share
Avatar HuyềnNhư @PhanNhuHuyen
Nov 7th, 2019 4:10 a.m.

hi,tách riêng là sao anh nhỉ

0
| Reply
Share
Nov 7th, 2019 4:12 a.m.

@PhanNhuHuyen tức là nó sẽ tách ra phần api riêng và front-end riêng, ví dụ như viblo thì api dùng laravel, còn front-end thì dùng vuejs

0
| Reply
Share
Avatar HuyềnNhư @PhanNhuHuyen
Nov 7th, 2019 4:13 a.m.

@vuongthai95 dạ e cảm ơn a:D

+1
| Reply
Share
Answered Nov 8th, 2019 2:12 a.m.
+2
  • Api: là một cổng giúp giao tiếp giữa client (app, web, ...) tới server. Client request lên server thông qua api. Server trả dữ liệu, thông báo cho client cũng qua api. Thực chất nó chỉ là một đường link html, và theo đó các http message được truyền đi truyền lại giữa hai bên. Bạn có thể xem thêm tại link: https://viblo.asia/p/tim-hieu-ve-httprequest-va-postman-Eb85ojR4l2G
  • Ứng dụng: tùy theo mô hình dự án bạn đang làm là gì. MVC, MVVM, MVP mà sẽ có cách triển khai tương ứng - trong mỗi mô hình đã triển khai rồi. Cũng tùy vào ngôn ngữ của Client mà gọi lên Server ra sao. Mình code Android nên sử dụng Retrofit, Volley để gọi. Đó, vậy thôi
Share
Avatar HuyềnNhư @PhanNhuHuyen
Nov 8th, 2019 3:27 a.m.

em cảm ơn a đã chia sẽ 😄

0
| Reply
Share
Nov 8th, 2019 4:03 a.m.
0
| Reply
Share
Answered Nov 7th, 2019 3:22 a.m.
+1

MÌnh hiểu 1 cách đơn giản là : API là tạo các resfull, routes sử lý request từ client trả về chuỗi dạng json, Xml ... WEB API là cung cấp API thông qua các phương thức get, post ... để thao tác và lấy dữ liệu, và nó không có một giao diện cụ thể cũng giống như 1 trang web có backend mà không có frontend ấy, chỉ có các route vd: Route::get('/messages', 'Client\MessagesController@getMessages')

Share
Avatar HuyềnNhư @PhanNhuHuyen
Nov 7th, 2019 4:04 a.m.

vậy mục đích của api là lấy dữ liệu trên server về đúng ko bạn

0
| Reply
Share
Avatar Nguyen Thanh @tienthanhjlw
Nov 7th, 2019 10:26 a.m.

@PhanNhuHuyen đúng rồi mục đích của api tức là để lấy dữ liệu từ phía server

0
| Reply
Share
Answered Nov 7th, 2019 3:31 a.m.
+1

Hiểu nôm na thì api là phương thức kết nối giữa giao diện và server.

Bạn đọc cái này xem có ích gì k nhé: https://zapier.com/learn/apis/chapter-1-introduction-to-apis/

Cách triển khai thì còn tùy ứng dụng. Nếu bạn làm web thì bạn tìm hiểu keyword "MVC" nhé.

Share
Avatar HuyềnNhư @PhanNhuHuyen
Nov 7th, 2019 4:02 a.m.

oke ,minh cảm ơn ban 😄

+1
| Reply
Share
Answered Nov 8th, 2019 3:44 a.m.
0

Đơn giản thì:

API là 1 cái URL. Khi mình sử dụng thì nó trả về CHO mình 1 chuỗi, 1 mảng, hay 1 kiểu dữ liệu gì đó... Hoặc nó NHẬN từ mình 1 vài dữ liệu

mình có 1 cái biến $A, dùng biến A này hứng những gì API cho mình $A= gọi(API),

sau đó sử dụng biến $A này nhưng mình vẫn làm việc bao lâu nay.

Share
Avatar HuyềnNhư @PhanNhuHuyen
Nov 8th, 2019 3:47 a.m.

URL bên server cung cấp đúng k bạn

0
| Reply
Share
Avatar TAMIX @tuananhbfs
Nov 8th, 2019 3:54 a.m.

@PhanNhuHuyen Ví dụ mình dùng API của facebook, thì URL là do bên facebook tạo ra và cung cấp cho mình, kèm theo hướng dẫn sử dụng.

Còn nếu API truy xuất dữ liệu của công ty mình thì mình phải tự viết API.

0
| Reply
Share
Avatar HuyềnNhư @PhanNhuHuyen
Nov 8th, 2019 4:14 a.m.

nếu mình viết 1 web về thương mại điện tử thì mình cần api ko ạ,và nếu có thì api đó mình tự viết hay có 1 bên nào cung cấp ko ạ

0
| Reply
Share
Avatar TAMIX @tuananhbfs
Nov 8th, 2019 4:32 a.m.

@PhanNhuHuyen Nếu tương lai bạn cần làm thêm Appmobile(android,IOS) hoặc triển khai ra nhiều nền tảng, ứng dụng khác thì cần phải viết API. Và do team code của mình tự viết.

Viết API cũng hao hao như viết site Admin, ko khó khăn lắm đâu.

0
| Reply
Share
Avatar HuyềnNhư @PhanNhuHuyen
Nov 8th, 2019 5:00 a.m.

@tuananhbfs dạ cảm ơn a nhìu

0
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.