Tìm hiểu kỹ thuật mạnh mẽ này do Next.js cung cấp để tạo điểm cuối API trong ứng dụng Next.js
Ngoài việc tạocác tuyến trang, có nghĩa là các trang được cung cấp cho trình duyệt dưới dạng các trang Web, Next.js có thể tạoCác tuyến API.
Đây là một tính năng rất thú vị vì nó có nghĩa là Next.js có thể được sử dụng để tạo giao diện người dùng cho dữ liệu được lưu trữ và truy xuất bởi chính Next.js, chuyển JSON thông qua các yêu cầu tìm nạp.
Các tuyến API hoạt động dưới/pages/api/
thư mục và được ánh xạ tới/api
điểm cuối.
Tính năng này làrấthữu ích khi tạo ứng dụng.
Trong các tuyến đó, chúng tôi viết mã Node.js (chứ không phải mã React). Đó là một sự thay đổi mô hình, bạn chuyển từ frontend sang backend, nhưng rất liền mạch.
Nói rằng bạn có một/pages/api/comments.js
tệp, có mục tiêu là trả lại các nhận xét của một bài đăng trên blog dưới dạng JSON.
Giả sử bạn có một danh sách các nhận xét được lưu trữ trong mộtcomments.json
tập tin:
[
{
"comment": "First"
},
{
"comment": "Nice post"
}
]
Đây là một mã mẫu, trả về cho khách hàng danh sách các nhận xét:
import comments from './comments.json'
export default (req, res) => {
res.status(200).json(feeds)
}
Nó sẽ lắng nghe trên/api/commments
URL cho các yêu cầu GET và bạn có thể thử gọi nó bằng trình duyệt của mình:
Các tuyến API cũng có thể sử dụngđịnh tuyến độngthích các trang, sử dụng[]
cú pháp để tạo một tuyến API động, như/pages/api/comments/[id].js
sẽ truy xuất các nhận xét cụ thể cho một id bài đăng.
Bên trong[id].js
bạn có thể lấyid
giá trị bằng cách tìm kiếm nó bên trongreq.query
vật:
import comments from '../comments.json'
export default (req, res) => {
res.status(200).json({ post: req.query.id, comments })
}
Ở đây, bạn có thể thấy đoạn mã trên đang hoạt động:
Trong các trang động, bạn cần nhậpuseRouter
từnext/router
, sau đó lấy đối tượng bộ định tuyến bằng cách sử dụngconst router = useRouter()
, và sau đó chúng tôi có thể có đượcid
giá trị sử dụngrouter.query.id
.
Ở phía máy chủ, tất cả đều dễ dàng hơn, vì truy vấn được đính kèm với đối tượng yêu cầu.
Nếu bạn thực hiện một yêu cầu ĐĂNG, tất cả đều hoạt động theo cùng một cách - tất cả đều thông qua quá trình xuất mặc định đó.
Để tách POST khỏi GET và các phương thức HTTP khác (PUT, DELETE), hãy tra cứureq.method
giá trị:
export default (req, res) => {
switch (req.method) {
case 'GET':
//...
break
case 'POST':
//...
break
default:
res.status(405).end() //Method Not Allowed
break
}
}
Ngoàireq.query
vàreq.method
chúng tôi đã thấy, chúng tôi có quyền truy cập vào cookie bằng cách tham chiếureq.cookies
, cơ quan yêu cầu trongreq.body
.
Dưới mui xe, tất cả đều được cung cấp bởiVi mô, một thư viện hỗ trợ các vi dịch vụ HTTP không đồng bộ, được thực hiện bởi cùng một nhóm đã xây dựng Next.js.
Bạn có thể sử dụng bất kỳ phần mềm trung gian Micro nào trong các tuyến API của chúng tôi để thêm nhiều chức năng hơn.
Tải xuống miễn phí của tôiSổ tay Next.js
Thêm các bài hướng dẫn tiếp theo:
- Bắt đầu với Next.js
- Next.js vs Gatsby vs create-react-app
- Cách cài đặt Next.js
- Liên kết hai trang trong Next.js bằng Liên kết
- Nội dung động trong Next.js với bộ định tuyến
- Cung cấp dữ liệu cho thành phần Next.js bằng getInitialProps
- Tạo kiểu cho các thành phần Next.js bằng CSS
- Tìm nạp trước nội dung trong Next.js
- Sử dụng bộ định tuyến để phát hiện liên kết hoạt động trong Next.js
- Xem nguồn để xác nhận SSR đang hoạt động trong Next.js
- Next.js: điền thẻ head bằng các thẻ tùy chỉnh
- Triển khai ứng dụng Next.js ngay bây giờ
- Next.js: chỉ chạy mã ở phía máy chủ hoặc phía máy khách trong Next.js
- Triển khai ứng dụng Next.js trong phiên bản sản xuất
- Cách phân tích các gói ứng dụng Next.js
- Các mô-đun tải chậm trong Next.js
- Thêm thành phần trình bao bọc vào ứng dụng Next.js của bạn
- Các biểu tượng được Next.js thêm vào ứng dụng của bạn
- Gói ứng dụng Next.js
- Cách sử dụng Bộ định tuyến Next.js
- Cách sử dụng các tuyến API Next.js
- Cách lấy cookie phía máy chủ trong ứng dụng Next.js
- Cách thay đổi cổng ứng dụng Next.js