MySQL có hỗ trợ API REST không?

Geshan là một kỹ sư phần mềm dày dạn kinh nghiệm với hơn một thập kỷ kinh nghiệm về kỹ thuật phần mềm. Anh ấy rất quan tâm đến kiến ​​trúc REST, microservice và điện toán đám mây. Ông cũng viết blog tại geshan. com. np

Bạn có thể sử dụng Cổng SQL từ Trình điều khiển ODBC cho REST để truy vấn dữ liệu REST thông qua giao diện MySQL. Thực hiện theo quy trình bên dưới để bắt đầu dịch vụ từ xa MySQL của Cổng SQL và làm việc với dữ liệu REST trực tiếp trong MySQL Workbench

Kết nối với dữ liệu REST

Nếu bạn chưa làm như vậy, hãy cung cấp các giá trị cho thuộc tính kết nối bắt buộc trong tên nguồn dữ liệu (DSN). Bạn có thể sử dụng Quản trị viên nguồn dữ liệu ODBC tích hợp sẵn của Microsoft để định cấu hình DSN. Đây cũng là bước cuối cùng của quá trình cài đặt driver. Xem chương "Bắt đầu" trong tài liệu trợ giúp để biết hướng dẫn sử dụng Quản trị viên nguồn dữ liệu ODBC của Microsoft để tạo và định cấu hình DSN

Xem chương Bắt đầu trong tài liệu của nhà cung cấp dữ liệu để xác thực nguồn dữ liệu của bạn. Nhà cung cấp dữ liệu lập mô hình API REST dưới dạng bảng cơ sở dữ liệu hai chiều và tệp XML/JSON dưới dạng chế độ xem chỉ đọc (tệp cục bộ, tệp được lưu trữ trên các dịch vụ đám mây phổ biến và máy chủ FTP). Các lược đồ xác thực chính được hỗ trợ, bao gồm HTTP Basic, Digest, NTLM, OAuth và FTP. Xem chương Bắt đầu trong tài liệu của nhà cung cấp dữ liệu để biết hướng dẫn xác thực

Sau khi đặt URI và cung cấp bất kỳ giá trị xác thực nào, hãy đặt Định dạng thành "XML" hoặc "JSON" và đặt DataModel để khớp chặt chẽ hơn giữa biểu diễn dữ liệu với cấu trúc dữ liệu của bạn

Thuộc tính DataModel là thuộc tính kiểm soát cách dữ liệu của bạn được biểu diễn thành các bảng và chuyển đổi các cấu hình cơ bản sau

  • Tài liệu (mặc định). Lập mô hình chế độ xem tài liệu cấp cao nhất cho dữ liệu REST của bạn. Nhà cung cấp dữ liệu trả về các phần tử lồng nhau dưới dạng tập hợp dữ liệu
  • Tài Liệu Làm Phẳng. Kết hợp hoàn toàn các tài liệu lồng nhau và cha mẹ của chúng vào một bảng duy nhất
  • quan hệ. Trả về các bảng riêng lẻ, có liên quan từ dữ liệu phân cấp. Các bảng chứa khóa chính và khóa ngoại liên kết đến tài liệu gốc

Xem chương Dữ liệu REST Mô hình hóa để biết thêm thông tin về cách định cấu hình biểu diễn quan hệ. Bạn cũng sẽ tìm thấy dữ liệu mẫu được sử dụng trong các ví dụ sau. Dữ liệu bao gồm các mục nhập cho mọi người, ô tô họ sở hữu và các dịch vụ bảo dưỡng khác nhau được thực hiện trên những ô tô đó

Định cấu hình Cổng SQL

Xem để thiết lập kết nối với dữ liệu REST dưới dạng cơ sở dữ liệu MySQL ảo. Bạn sẽ định cấu hình dịch vụ điều khiển từ xa MySQL lắng nghe các yêu cầu MySQL từ máy khách. Dịch vụ có thể được cấu hình trong giao diện người dùng SQL Gateway

MySQL có hỗ trợ API REST không?
MySQL có hỗ trợ API REST không?

 

Tiếp theo, bạn sẽ được nhắc cung cấp tên, nhãn và mô tả (ảnh chụp màn hình bên dưới). Hai cái sau chỉ được sử dụng cho mục đích tham khảo trong giao diện quản trị, tuy nhiên, giá trị tên đặc biệt quan trọng vì bạn sẽ sớm thấy nó sẽ bao gồm một phần của URL API

MySQL có hỗ trợ API REST không?
MySQL có hỗ trợ API REST không?

 

Cuối cùng, nhấp vào tab Cấu hình. Tại đây, bạn sẽ được nhắc cung cấp thông tin đăng nhập kết nối cơ sở dữ liệu (xem ảnh chụp màn hình bên dưới). Điều này thực sự không có gì mới; . Ngoài ra, bạn có thể tùy ý chỉ định các đặc điểm cấu hình khác, chẳng hạn như tùy chọn trình điều khiển, múi giờ và tùy chọn bộ nhớ đệm. Với mục đích của hướng dẫn này, tôi sẽ dán vào các trường bắt buộc và không sử dụng các tính năng tùy chọn

MySQL có hỗ trợ API REST không?
MySQL có hỗ trợ API REST không?

 

Với thông tin đăng nhập đã có, chỉ cần nhấn nút Lưu ở cuối màn hình và tin hay không API REST đã được tạo

Xem tài liệu Swagger

Cùng với API, DreamFactory cũng sẽ tự động tạo một bộ tài liệu Swagger tương tác mở rộng cho API của bạn. Bạn có thể truy cập nó bằng cách nhấp vào tab Tài liệu API nằm ở đầu giao diện quản trị, sau đó chọn dịch vụ mới được tạo theo tên. Bạn sẽ được cung cấp 44 điểm cuối hữu ích để thực hiện các thủ tục được lưu trữ, thực hiện các thao tác CRUD, truy vấn chế độ xem, v.v. Chẳng hạn, ảnh chụp màn hình sau đây chỉ trình bày một tập hợp con nhỏ các điểm cuối MySQL REST API mới được tạo

MySQL có hỗ trợ API REST không?
MySQL có hỗ trợ API REST không?

 

Tạo một vai trò và khóa API

Tất cả các API do DreamFactory tạo được tự động bảo vệ bằng (tối thiểu) một khóa API. Bạn có thể tùy chọn xác thực người dùng bằng xác thực cơ bản, SSO hoặc Dịch vụ thư mục (LDAP và Active Directory). Ngoài ra, bạn có thể liên kết từng khóa API và/hoặc người dùng với một *vai trò* xác định chính xác những dịch vụ mà người dùng được phép truy cập. Không chỉ vậy, bạn có thể hạn chế các tương tác đối với một bảng cơ sở dữ liệu cụ thể hoặc một tập hợp các bảng, một (các) điểm cuối cụ thể và thậm chí hạn chế phương thức HTTP nào được phép

Bảo vệ người dùng chịu trách nhiệm tương tác với cơ sở dữ liệu MySQL thay mặt cho các API của bạn là một phần cực kỳ quan trọng trong quá trình tích hợp và phát triển API. Xem các đề xuất khác của chúng tôi về Bảo mật dữ liệu được cải thiện với Đặc quyền MySQL và DreamFactory

Ví dụ: hãy tạo một vai trò mới hạn chế khóa API được liên kết để tương tác với một bảng duy nhất theo kiểu chỉ đọc trong API MySQL mới được tạo. Để làm như vậy, hãy điều hướng đến tab Vai trò và nhấp vào nút Tạo. Bạn sẽ thấy giao diện được tìm thấy trong ảnh chụp màn hình bên dưới. Trong ảnh chụp màn hình, bạn sẽ thấy tôi đã chỉ định tên và mô tả cho vai trò và kích hoạt vai trò đó bằng cách chọn hộp kiểm Hoạt động

MySQL có hỗ trợ API REST không?
MySQL có hỗ trợ API REST không?

 

Tiếp theo, nhấp vào tab Truy cập. Đây là nơi bạn sẽ xác định vai trò có thể làm gì. Trong ảnh chụp màn hình bên dưới, bạn sẽ thấy tôi đã giới hạn vai trò tương tác với dịch vụ MySQL và trong dịch vụ đó, vai trò chỉ có thể tương tác với điểm cuối _table/employees* thông qua phương thức GET. Chúng tôi đang khóa chặt em bé

MySQL có hỗ trợ API REST không?
MySQL có hỗ trợ API REST không?

 

Lưu vai trò bằng cách nhấp vào nút Lưu. Bây giờ chúng ta sẽ tạo một khóa API mới và liên kết khóa với vai trò này. Để làm như vậy, hãy nhấp vào tab Ứng dụng nằm ở đầu màn hình, sau đó nhấp vào nút Tạo. Gán tên và mô tả cho Ứng dụng mới của bạn, đảm bảo nó được đặt thành Hoạt động, sau đó gán cho nó vai trò mặc định của MySQL giống như tôi đã thực hiện trong ảnh chụp màn hình bên dưới. Về cài đặt Vị trí ứng dụng, giả sử bạn định tương tác với API qua web hoặc ứng dụng dành cho thiết bị di động hoặc qua một dịch vụ web khác, thì bạn sẽ muốn chọn “Không cần bộ nhớ”

MySQL có hỗ trợ API REST không?
MySQL có hỗ trợ API REST không?

 

Nhấn nút Lưu và bạn sẽ được đưa trở lại màn hình chỉ mục Ứng dụng nơi có thể sao chép khóa API mới. Sao chép khóa vào tệp văn bản để tham khảo sau

Định cấu hình CORS cho API MySQL của bạn

Chúng tôi có một bước cấu hình cuối cùng trước khi có thể kiểm tra API từ bên ngoài giao diện quản trị DreamFactory. Bạn sẽ cần bật CORS (Chia sẻ tài nguyên gốc chéo) cho API mới. Với mục đích trình diễn, bạn có thể đặt cài đặt CORS mặc định như tôi đã thực hiện trong ảnh chụp màn hình bên dưới, điều này sẽ cho phép lưu lượng truy cập bị hạn chế API từ tất cả các địa chỉ mạng

MySQL có hỗ trợ API REST không?
MySQL có hỗ trợ API REST không?

 

Kiểm tra API REST của MySQL

Với API được tạo, khóa API và vai trò được liên kết được tạo và CORS được định cấu hình, bạn đã sẵn sàng bắt đầu tương tác với API thông qua ứng dụng khách. Tôi thích sử dụng Insomnia để kiểm tra HTTP trên MacOS, tuy nhiên, một giải pháp phổ biến khác là Postman

Trong ảnh chụp màn hình sau, tôi đang sử dụng Insomnia để liên hệ với điểm cuối /api/v2/_table/employees bằng yêu cầu GET

MySQL có hỗ trợ API REST không?
MySQL có hỗ trợ API REST không?

 

Nhớ lại rằng chúng tôi đã khóa khóa API này để chỉ tương tác với các điểm cuối /api/v2/_table/employees/* bằng phương thức GET. Vậy điều gì sẽ xảy ra nếu chúng ta cố gắng POST vào bảng này?

MySQL có hỗ trợ API REST không?
MySQL có hỗ trợ API REST không?
MySQL có hỗ trợ API REST không?
MySQL có hỗ trợ API REST không?

 

Các phương pháp thay thế để tạo API MySQL

Rõ ràng DreamFactory không phải là giải pháp duy nhất có sẵn. Kiểm tra các hướng dẫn phổ biến khác cho quan điểm khác nhau về chủ đề này

  • Xây dựng API REST với MySQL và Node. js. Đây là một hướng dẫn vững chắc tuy nhiên như tiêu đề chỉ ra rằng nó tập trung vào Node. phát triển cụ thể js
  • Hướng dẫn PHP 7 với MySQL. API CRUD REST. Hướng dẫn dài này tập trung vào việc xây dựng API REST dành riêng cho PHP, nhưng để lại các tính năng liên quan đến API bắt buộc khác như bảo mật, giới hạn API và ghi nhật ký dưới dạng bài tập cho người đọc

Bạn có biết rằng bạn có thể tạo API MySQL REST đầy đủ tính năng, được ghi lại và bảo mật trong vài phút bằng DreamFactory không? . Chuyến tham quan có hướng dẫn của chúng tôi sẽ chỉ cho bạn cách tạo API bằng cơ sở dữ liệu MySQL mẫu được cung cấp cho bạn như một phần của bản dùng thử

Tạo API MySQL của bạn ngay bây giờ

Từ đâu đến đây?

Tin hay không thì tùy, chúng tôi mới chỉ vạch ra bề nổi về những gì DreamFactory có thể làm cho bạn. Nếu bạn muốn xem các trình kết nối SQL Server, Oracle hoặc MongoDB của chúng tôi đang hoạt động hoặc muốn xem việc chuyển đổi dịch vụ SOAP sang REST dễ dàng như thế nào mà không cần viết bất kỳ mã nào, tại sao không lên lịch trình demo với nhóm kỹ thuật của chúng tôi. Truy cập https. //www. Nhà máy giấc mơ. com/products và lên lịch demo ngay hôm nay

MySQL có API REST không?

MySQL đã là tiêu chuẩn cho điều này trong nhiều thập kỷ. Một nhược điểm là cơ sở dữ liệu chỉ lưu trữ dữ liệu. Nếu bạn muốn làm gì đó với dữ liệu đó, API REST của MySQL sẽ giúp bạn . Đây là những gì bạn cần biết để sử dụng MySQL REST API trong các dự án của mình.

MySQL có thể kích hoạt lệnh gọi REST API không?

Nếu bạn có một bảng mysql mà bạn đang theo dõi các thay đổi, bạn có thể sử dụng trình kích hoạt để làm như vậy (miễn là bạn có phiên bản msyql bán hiện đại). Sometimes you might want to notify another service of any change (remote logging service, message queue, etc).

Làm cách nào để kết nối API REST với cơ sở dữ liệu?

Kết nối từ Người đưa thư . Chỉ cần cài đặt ứng dụng Postman và dán url REST của cơ sở dữ liệu để bắt đầu . Để xác thực, bạn cũng cần thêm mã thông báo bảo mật làm giá trị Tiêu đề HTTP.

API REST có sử dụng SQL không?

Trình kết nối REST tự động cho phép bạn truy vấn dữ liệu API bằng cách sử dụng SQL tiêu chuẩn bằng cách chuẩn hóa dữ liệu phản hồi JSON bán cấu trúc thành dữ liệu có cấu trúc có thể được sử dụng với SQL.