Mysql còn lại api mã nguồn mở

MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ nguồn mở [RDBMS] là một trong những giải pháp hàng đầu để xây dựng cơ sở dữ liệu quan hệ [SQL]. Với việc sử dụng MySQL, không có gì ngạc nhiên khi việc tạo API MySQL REST lại có nhu cầu cao như vậy

Tin tốt. Tích hợp MySQL REST API rất dễ dàng, nhờ vào nền tảng DreamFactory. Với DreamFactory, các nhà phát triển có thể tạo MySQL REST API chỉ trong vài phút

Hình 1. MySQL là một trong 19 cơ sở dữ liệu được hỗ trợ

Đối với người dùng đang tìm cách tạo API REST cho MySQL, DreamFactory cung cấp các ưu điểm sau

  • Tốc độ, vận tốc. Xây dựng các API REST tùy chỉnh là một trong những nút cổ chai lớn nhất trong quá trình phát triển phần mềm hiện đại—trung bình, các kỹ sư back-end mất 34 ngày để xây dựng một API duy nhất từ ​​đầu. Nền tảng DreamFactory cho phép người dùng giảm tốc độ phát triển dự án của họ theo tuần hoặc tháng
  • Dễ sử dụng. DreamFactory là một giải pháp không cần mã, dễ sử dụng, cho phép ngay cả những người dùng không có kỹ thuật cũng tạo tích hợp API REST cho MySQL trong tích tắc. Các kỹ sư luôn sẵn sàng hỗ trợ 24/7, 24/24
  • Uyển chuyển. DreamFactory là một giải pháp không trạng thái có thể mở rộng. Điều này làm cho nó dễ dàng di chuyển đến bất kỳ hệ điều hành và cơ sở hạ tầng nào, dù là công khai, riêng tư hay kết hợp
  • Bảo vệ. Bảo mật dữ liệu phải là mối quan tâm quan trọng đối với bất kỳ tích hợp MySQL nào. DreamFactory hỗ trợ các tính năng thiết yếu như Kiểm soát truy cập dựa trên vai trò, Xác thực SSO, JWT, CORS, OAuth và Active Directory để đảm bảo dữ liệu của bạn được bảo mật tại mỗi điểm cuối API. Cấu hình dễ dàng trong bảng điều khiển quản trị dựa trên web DreamFactory
  • Giao diện hợp nhất. MySQL chỉ là một trong nhiều tích hợp API REST đi vào một dự án phát triển phần mềm điển hình. Nền tảng DreamFactory là một giải pháp quản lý API REST tất cả trong một, cung cấp một ô kính duy nhất cho tất cả các nhu cầu tích hợp API REST của bạn

MySQL chỉ là một trong những công nghệ cơ sở dữ liệu được DreamFactory hỗ trợ. DreamFactory cũng có thể tạo API REST cho Microsoft SQL Server, Oracle, PostgreSQL, MongoDB và nhiều tích hợp khác

DreamFactory đã giúp hàng nghìn công ty trên khắp thế giới khai thác được nhiều hơn từ các dự án tích hợp API REST của họ, bao gồm cả MySQL. Để tìm hiểu thêm về tích hợp API REST cho cơ sở dữ liệu SQL bạn chọn, hãy liên hệ với nhóm DreamFactory ngay hôm nay

hướng dẫn

Vậy việc tạo API được hỗ trợ bởi MySQL bằng DreamFactory dễ dàng như thế nào? . Kiểm tra để tìm hiểu cách tạo API, áp dụng kiểm soát truy cập dựa trên vai trò, tạo khóa API và bắt đầu truy vấn API của bạn ngay lập tức

Tìm hiểu thêm

Nếu bạn muốn xây dựng các ứng dụng dựa trên API mạnh mẽ, hãy liên hệ hoặc bắt đầu bản dùng thử được lưu trữ ngay hôm nay. Chúng tôi có thể nhanh chóng thiết lập cho bạn bản dùng thử được lưu trữ hoặc tại chỗ để bạn có thể trải nghiệm sức mạnh của Nền tảng DreamFactory

Học cách xây dựng cơ sở dữ liệu đơn giản để thêm, cập nhật và xóa việc cần làm bằng Node. js, MySQL và Express

một năm trước   •   10 phút đọc

Bởi Ekekenta Odionyenfe. C

Ảnh của Douglas Lopes / Bapt

Mục lục

Nút. js thường được sử dụng cùng với các cơ sở dữ liệu NoSQL như MongoDB, mặc dù nó cũng hoạt động tốt với các cơ sở dữ liệu quan hệ như MySQL, PostgreSQL và các cơ sở dữ liệu khác. MySQL đã tồn tại trong nhiều thập kỷ và là một trong những hệ thống quản lý cơ sở dữ liệu quan hệ [RDBMS] được sử dụng rộng rãi. Cơ sở dữ liệu nguồn mở nhất thế giới là một RDBMS lý tưởng cho cả ứng dụng nhỏ và lớn

Hướng dẫn này sẽ khám phá cách xây dựng API REST với Express và MySQL bằng cách tạo cơ sở dữ liệu đơn giản để thêm, cập nhật và xóa todos. Bạn có thể làm theo bằng cách sao chép kho lưu trữ GitHub cho dự án này. Bắt đầu nào

điều kiện tiên quyết

Hướng dẫn này là một trình diễn thực hành. Hãy chắc chắn rằng bạn có những điều sau đây trước khi bắt đầu

  1. Máy chủ MySQL được cài đặt trên máy tính của bạn
  2. Nút. js được cài đặt trên máy tính của bạn

Tất cả các cuộc biểu tình sẽ sử dụng Ubuntu 20. 04 với Nút 14 LTS. Nó cũng hoạt động cho các hệ điều hành khác và các phiên bản Linux khác

REST là gì?

REST [Chuyển giao trạng thái đại diện] là một kiểu kiến ​​trúc phần mềm mà các nhà phát triển đã thiết lập để hỗ trợ tạo và phát triển kiến ​​trúc của World Wide Web. REST chỉ định một bộ tiêu chí về cách kiến ​​trúc của hệ thống siêu phương tiện phân tán ở quy mô Internet, chẳng hạn như Web, sẽ hoạt động. Đây là một trong nhiều cách ứng dụng, máy chủ và trang web có thể giao tiếp dữ liệu và dịch vụ. Nó thường cung cấp các quy tắc về cách các nhà phát triển làm việc với dữ liệu và dịch vụ đại diện cho các phần tử thông qua API. Các chương trình khác có thể yêu cầu và nhận dữ liệu cũng như dịch vụ một cách thích hợp mà API có thể truy cập được

Tại sao lại sử dụng REST?

REST có một số đặc điểm độc đáo khiến nó trở thành một trong những kiểu kiến ​​trúc phần mềm hàng đầu được các kỹ sư phần mềm sử dụng rộng rãi

  1. Nó nhẹ. API REST sử dụng tiêu chuẩn HTTP. Do đó, bạn có thể sử dụng XML, JSON, HTML và các định dạng dữ liệu khác. Do đó, API REST nhanh và nhẹ, khiến chúng trở thành lựa chọn tuyệt vời để phát triển ứng dụng di động, thiết bị internet vạn vật và các ứng dụng khác
  2. Nó độc lập. Việc tách máy khách và máy chủ trong API REST làm cho nó trở nên độc lập. Giao thức REST tách biệt việc lưu trữ dữ liệu và giao diện người dùng khỏi máy chủ, giúp các nhà phát triển dễ dàng cộng tác trong việc xây dựng dự án
  3. Nó có thể mở rộng và linh hoạt. API REST có thể mở rộng và sử dụng linh hoạt do sự tách biệt giữa máy khách và máy chủ, cho phép các nhà phát triển tích hợp API REST mà không cần thêm bất kỳ nỗ lực nào một cách đơn giản
  4. Nó là không quốc tịch. Các cuộc gọi được thực hiện cho REST một cách độc lập và mỗi cuộc gọi này chứa tất cả dữ liệu để hoàn thành yêu cầu
  5. Nó có giao diện thống nhất cho phép phát triển độc lập ứng dụng mà không cần các dịch vụ hoặc mô hình và hành động của ứng dụng được liên kết chặt chẽ với chính lớp API
  6. Nó là một hệ thống kiến ​​trúc phân lớp xây dựng một hệ thống phân cấp giúp tạo ra một ứng dụng mô-đun và có thể mở rộng hơn

Tổng quan về cơ sở dữ liệu MySQL

MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở [RDBMS]. Đây là hệ thống cơ sở dữ liệu phổ biến nhất được sử dụng với PHP. MySQL là một dịch vụ cơ sở dữ liệu được quản lý hoàn toàn được sử dụng để triển khai các ứng dụng gốc trên đám mây. HeatWave, một trình tăng tốc truy vấn tích hợp, hiệu suất cao, tăng hiệu suất của MySQL lên 5400 lần

MySQL được phát triển, phân phối và hỗ trợ bởi Tập đoàn Oracle với các tính năng sau

  • Dữ liệu trong cơ sở dữ liệu MySQL nằm trong các bảng bao gồm các cột và hàng
  • MySQL là một hệ thống cơ sở dữ liệu chạy trên máy chủ
  • MySQL là lý tưởng cho cả ứng dụng nhỏ và lớn
  • MySQL là một hệ thống cơ sở dữ liệu rất nhanh, đáng tin cậy và dễ sử dụng. Nó sử dụng SQL tiêu chuẩn
  • MySQL biên dịch trên một số nền tảng

Tạo một nút. ứng dụng js

Bây giờ chúng ta đã khám phá REST là gì và có cái nhìn tổng quan nhanh về cơ sở dữ liệu MySQL, hãy đi sâu vào việc tạo ứng dụng RESTFul của chúng ta. Đầu tiên, chúng ta cần tạo một thư mục cho dự án của mình bằng lệnh bên dưới

mkdir rest-with-mysql && cd rest-with-mysql
Tạo thư mục mới cho dự án

Lệnh trên sẽ tạo thư mục rest-with-MySQL và thay đổi thư mục thành thư mục. Tiếp theo, chúng ta sẽ khởi tạo một nút mới. js bằng lệnh bên dưới

npm init -y
Khởi tạo một nút mới. dự án js

Lệnh trên sẽ khởi tạo một Node mới. js, bỏ qua tất cả các lời nhắc về chi tiết dự án. Lệnh này cũng sẽ tạo một gói. json trong thư mục gốc của dự án, thư mục này sẽ ghi lại tất cả siêu dữ liệu cần thiết về dự án của chúng ta. Bạn có thể quyết định xem qua lời nhắc để nhập chi tiết dự án bằng cách xóa cờ khỏi lệnh

Tiếp theo, chúng tôi sẽ cài đặt các phụ thuộc mà chúng tôi yêu cầu cho dự án của mình

npm install express MySQL cors
Cài đặt Cors

Lệnh trên sẽ mất một chút thời gian để hoàn thành, nhưng cuối cùng chúng ta sẽ cài đặt Express, MySQL và Cors. Cuối cùng, hãy xem cấu trúc dự án của chúng ta. Khi kết thúc hướng dẫn này, cấu trúc dự án của chúng ta sẽ như thế này

cấu trúc ứng dụng

Thiết lập máy chủ Express

Bây giờ chúng ta đã cài đặt các phần phụ thuộc, hãy để chúng hoạt động bằng cách thiết lập máy chủ tốc hành trước tiên

Tạo một ứng dụng. js và thêm đoạn mã sau vào bên dưới. Chúng tôi sẽ nhập như sau

  • Thể hiện. Để tạo máy chủ của chúng tôi
  • Cors. Để cho phép và chuyển hướng tài nguyên yêu cầu
  • bộ định tuyến. Đây là nơi các tuyến API của chúng tôi sẽ được xác định sau trong các phần
  • AppError và errorHandler. Đây là các chức năng xử lý lỗi toàn cầu của chúng tôi. Chúng ta sẽ tạo chúng sau
const express = require["express"];
const cors = require["cors"];
const router = require["./routes"];
const AppError = require["./utils/appError"];
const errorHandler = require["./utils/errorHandler"];
….
Thiết lập các phụ thuộc của bạn

Tiếp theo, chúng tôi tạo một phiên bản ứng dụng từ express, sử dụng express. json[] trong ứng dụng của chúng tôi để phân tích nội dung được mã hóa URL. Cuối cùng, chúng tôi làm cho phần mềm trung gian bộ định tuyến API của chúng tôi lắng nghe các yêu cầu đến URL được chỉ định

Sau đó, chúng tôi kiểm tra các URL bị thiếu từ các điểm cuối của chúng tôi và đưa ra lỗi 404 cho người dùng nếu chúng được truy cập. Trình xử lý lỗi toàn cầu sẽ xử lý việc này [chúng tôi sẽ tạo nó trong các phần tiếp theo]

app.use[api, router];

app.all["*", [req, res, next] => {
 next[new AppError[`The URL ${req.originalUrl} does not exists`, 404]];
}];
app.use[errorHandler];
...
Kiểm tra các điểm cuối của nhiệm vụ và hướng người dùng đến 404 nếu họ đạt đến một

Cuối cùng, chúng tôi sẽ định cấu hình ứng dụng của mình để nghe cổng 3000

const PORT = 3000;
app.listen[PORT, [] => {
 console.log[`server running on port ${PORT}`];
}];

module.exports = app;
Chọn cổng 3000 cho cổng nghe của chúng tôi

Thiết lập và kết nối với MySQL

Bây giờ, chúng tôi đã thiết lập máy chủ Express. Hãy tiếp tục và thiết lập Cơ sở dữ liệu MySQL của chúng tôi. Đầu tiên, chúng ta sẽ mở MySQL shell bằng lệnh bên dưới

//On Windows
MySQL

//Ubuntu
mysql -u root -p
Mở vỏ

Lệnh trên sẽ nhắc nhập mật khẩu gốc của bạn

Sử dụng mật khẩu của bạn để tiếp tục

Nhập mật khẩu và nhấn phím Enter để tiếp tục. Nếu mọi thứ suôn sẻ, bạn sẽ thấy một kết quả tương tự như ảnh chụp màn hình bên dưới trên thiết bị đầu cuối của mình

Thành công. Đây là những gì bạn sẽ thấy nếu mọi thứ suôn sẻ

Tiếp theo, thực hiện các câu lệnh SQL bên dưới trên trình bao MySQL của bạn để tạo cơ sở dữ liệu todos của chúng tôi

CREATE DATABASE todos
Tạo todos DB

Sau đó, thực hiện lệnh bên dưới để tạo bảng todolist của chúng tôi. Bảng sẽ có các trường id, name, status, date_created. Id đã nộp sẽ là của bảng của chúng tôi

_____ 8 Khởi tạo bảng todo list

Tiếp theo, tạo thư mục dịch vụ trong thư mục gốc dự án của chúng tôi. Trong thư mục dịch vụ, tạo một db. js và thêm đoạn mã sau vào bên dưới

const mysql = require['mysql'];
const conn = mysql.createConnection[{
 host: "localhost",
 user: "root",
 password: "1234",
 database: "todos",
}];

conn.connect[];

module.exports = conn;
Kết nối với cơ sở dữ liệu MySQL bằng phương thức createConnection

Đoạn mã trên sẽ kết nối với cơ sở dữ liệu MySQL của chúng tôi bằng cách sử dụng phương thức MySQL createConnection. Phương thức createConnection lấy tên máy chủ, tên người dùng, mật khẩu và tên cơ sở dữ liệu làm tham số bắt buộc

Tạo bộ điều khiển ứng dụng

Chúng tôi đã kết nối thành công cơ sở dữ liệu MySQL của mình. Hãy tiến hành tạo route cho ứng dụng của chúng ta

Trong thư mục gốc của dự án, tạo thư mục bộ điều khiển, sau đó tạo chỉ mục. js trong thư mục bộ điều khiển

Trước tiên, chúng tôi sẽ nhập trình xử lý lỗi toàn cầu và kết nối cơ sở dữ liệu MySQL của chúng tôi

npm init -y
0Nhập trình xử lý lỗi chung

Tiếp theo, chúng tôi sẽ tạo trình xử lý getAllTodos để tìm nạp tất cả các todo trong cơ sở dữ liệu của chúng tôi. Trình xử lý này sẽ sử dụng phương thức truy vấn MySQL, lấy truy vấn SQL và hàm gọi lại làm tham số. Nếu xảy ra lỗi trong quá trình thao tác, chúng tôi sẽ trả lại lỗi cho người dùng bằng lớp AppError. Sau đó, chúng tôi trả lại dữ liệu cho người dùng khi hoạt động chạy thành công với mã trạng thái 200

npm init -y
1Trình xử lý getAllTodos

Tiếp theo, chúng tôi sẽ tạo trình xử lý createTodo để thêm todo mới vào cơ sở dữ liệu của chúng tôi. Sau đó, chúng tôi kiểm tra xem khách hàng có gửi biểu mẫu trống không và trả về thông báo lỗi 404

Sau đó, chúng tôi lấy tên công việc từ phần thân yêu cầu và đặt trạng thái của từng việc cần làm được tạo thành đang chờ xử lý theo mặc định. Sử dụng phương thức truy vấn mysql, chúng tôi tạo một truy vấn chèn để thêm việc cần làm vào cơ sở dữ liệu của chúng tôi

npm init -y
2Trình xử lý createTodo

Tiếp theo, chúng tôi tạo một trình xử lý getTodo để nhận các todos của chúng tôi theo ID. Trước tiên, chúng tôi sẽ kiểm tra xem id có được chỉ định trong tham số yêu cầu hay không, sau đó trả về lỗi cho máy khách nếu không tìm thấy

Chúng tôi sẽ thực thi một câu lệnh SQL để thực hiện việc cần làm có id trên tham số yêu cầu và trả lại cho máy khách

npm init -y
3Trình xử lý getTodo

Tiếp theo, chúng ta sẽ tạo trình xử lý updateTodo để cập nhật todo của chúng ta, lần này sẽ sửa đổi todo có id trong tham số yêu cầu được hoàn thành

npm init -y
4Trình xử lý updateTodo

Cuối cùng, chúng ta sẽ tạo một trình xử lý deleteTodo để xóa một việc cần làm khỏi cơ sở dữ liệu của chúng ta. Chúng tôi sẽ thực hiện một câu lệnh xóa để xóa một việc cần làm có id là tham số yêu cầu

npm init -y
5Trình xử lý deleteTodo

Tạo trình xử lý lỗi toàn cầu

Bây giờ, hãy nhanh chóng tạo trình xử lý lỗi toàn cầu của chúng ta. Để bắt đầu, hãy tạo một thư mục utils trong thư mục gốc của dự án của chúng tôi. Sau đó, tạo một appError. js và errorHandler. tập tin js. Thêm đoạn mã sau vào appError. tập tin js

npm init -y
6Ứng dụngLỗi. tập tin js

Đoạn mã trên tạo một lớp AppError mở rộng lớp Lỗi tích hợp. Sau đó, chúng tôi sẽ chuyển thông báo lỗi và trạng thái cho hàm tạo của lớp Lỗi. Sau đó, chúng tôi sẽ kiểm tra loại lỗi nào đã xảy ra trong ứng dụng của chúng tôi khi bắt đầu mã trạng thái và thêm lỗi vào theo dõi ngăn xếp lỗi

Tiếp theo, mở errorHandler. js và thêm đoạn mã bên dưới

npm init -y
7Trình xử lý lỗi. tập tin js

Đoạn mã trên sẽ kiểm tra các lỗi có thể xảy ra trong ứng dụng của chúng tôi và gửi mã lỗi và trạng thái tương ứng cho khách hàng mà không làm hỏng ứng dụng của chúng tôi

Tạo các tuyến ứng dụng

Trong thư mục gốc của dự án, hãy tạo một thư mục định tuyến, sau đó tạo một chỉ mục. js và thêm đoạn mã sau vào bên dưới

npm init -y
8Các tuyến cho ứng dụng

Đoạn mã trên tạo một đối tượng bộ định tuyến từ lớp bộ định tuyến tốc hành. Sau đó, chúng tôi thực hiện các tuyến đường sau trong ứng dụng của mình

  • Nhận tuyến đường. để có được tất cả các todo trong cơ sở dữ liệu của chúng tôi
  • bài đăng lộ trình. để thêm một việc cần làm mới vào cơ sở dữ liệu của chúng tôi
  • Nhận tuyến đường. để có được một việc cần làm theo id của nó
  • Đặt tuyến đường. để cập nhật một việc cần làm theo id
  • Xóa lộ trình. để xóa một việc cần làm theo id

Sau đó, chúng tôi xuất đối tượng bộ định tuyến

Xem dữ liệu với Arctype

Bây giờ chúng tôi đã tạo tất cả các tuyến đường của mình. Bây giờ hãy kết nối với Arctype để trực quan hóa dữ liệu trong cơ sở dữ liệu của chúng tôi. Để làm điều đó, chúng ta cần tải xuống Arctype từ trang web chính thức. Tải xuống và cài đặt Arctype, sau đó kết nối cơ sở dữ liệu của bạn với nó. Khi bạn khởi chạy Arctype, hãy nhấp vào MySQL để tạo kết nối - hãy làm theo hướng dẫn này nếu bạn cần trợ giúp

Khởi chạy Arctype và tạo kết nối

Sau đó, chúng tôi sẽ thêm thông tin đăng nhập kết nối của mình và nhấn nút lưu

Thêm thông tin đăng nhập của chúng tôi trong Arctype

Chúng tôi đã kết nối thành công với cơ sở dữ liệu của chúng tôi. Bạn sẽ thấy các bảng cơ sở dữ liệu của chúng tôi ở phía bên tay phải của bảng điều khiển Arctype. Nhấp vào bảng todolist để chạy một số truy vấn trên cơ sở dữ liệu của chúng tôi trên Arctype

Chúng tôi có thể thêm bản ghi mới vào cơ sở dữ liệu của mình bằng cách nhấp vào tab Chèn hàng

Thêm bản ghi mới thông qua tab Chèn hàng trong Arctype

Chúng tôi cũng có thể chỉnh sửa và truy vấn bảng cơ sở dữ liệu của bạn bằng Archetype. và nhiều hơn nữa

Sự kết luận

Bây giờ bạn đã hiểu cách xây dựng API REST bằng cách sử dụng Express framework—cài đặt Express Node. js, tạo cơ sở dữ liệu MySQL và tạo ứng dụng công việc đơn giản. Đó là tất cả những gì nó cần

Có lẽ bạn có thể tìm hiểu thêm về cách sử dụng MySQL với Node. js ở đây. Vui lòng liên hệ trên Twitter nếu bạn có bất kỳ câu hỏi nào

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.

Làm cách nào để tạo API REST bằng MySQL?

Đầu tiên, chúng ta cần tạo một thư mục cho dự án của mình bằng lệnh bên dưới. .
mkdir rest-with-mysql && cd rest-with-mysql Tạo thư mục mới cho dự án
npm init -y Khởi tạo một nút mới. dự án js
npm cài đặt express MySQL cors Cài đặt Cors
cấu trúc ứng dụng

MySQL có phải là mã nguồn mở và miễn phí không?

MySQL Community Edition là phiên bản có thể tải xuống miễn phí của cơ sở dữ liệu nguồn mở phổ biến nhất thế giới . Nó có sẵn theo giấy phép GPL và được hỗ trợ bởi một cộng đồng lớn và tích cực gồm các nhà phát triển nguồn mở.

MySQL là mã nguồn mở hay đóng?

MySQL là một mã nguồn mở lựa chọn hệ thống quản lý cơ sở dữ liệu quan hệ [RDBMS] phổ biến cho các ứng dụng dựa trên web. Các nhà phát triển, quản trị viên cơ sở dữ liệu và nhóm DevOps sử dụng MySQL để xây dựng và quản lý các ứng dụng dựa trên web và đám mây thế hệ tiếp theo.

Chủ Đề