Golang: Rest API và định tuyến bằng MUX

Tram Ho

Định tuyến với MUX

Hãy tạo một CRUD api đơn giản cho một trang blog.

Chúng tôi sẽ cần 5 tuyến đường

Đầu tiên, chúng tôi tạo một tệp main.go trong thư mục dự án của chúng tôi

Điền mã khung bên trong

Để định tuyến, chúng tôi sẽ sử dụng một gói có tên là mux Chúng tôi có thể tải xuống bằng cách chạy

Nếu bạn kiểm tra thư mục $GOPATH/pkg , bạn sẽ tìm thấy gói mux mới được tải xuống bên trong.

Bây giờ, chúng tôi đã tải xuống mux , hãy khởi tạo nó trong tệp main.go của chúng tôi. Đối với điều đó, chúng tôi cần nhập nó trước.

Thêm các tuyến đường vào mux là rất dễ dàng. Bạn chỉ cần viết tuyến đường, chức năng nó sẽ chạy và phương thức HTTP mà nó phản hồi

Điều này có nghĩa là, bất cứ khi nào ứng dụng của chúng tôi nhận được yêu cầu GET trong đường dẫn "/api/articles" getArticles "/api/articles" , chúng tôi sẽ chạy hàm getArticles . Chúng tôi chưa xác định hàm, bây giờ chúng tôi chỉ muốn dữ liệu hạt giống được trả về. Loại

Vì vậy, chúng ta nên tạo dữ liệu hạt giống trước, trước khi chuyển sang viết phương thức getArticles .

Đối với đối tượng bài viết và đối tượng người dùng, chúng ta cần tạo một cấu trúc như

Lưu ý rằng, mỗi bài viết sẽ có một Author , một đối tượng của User cấu trúc. Đối với listOfArticles, chúng tôi sẽ sử dụng một lát

Ngoài ra, nếu chúng ta muốn trả lại các tên đã nộp khác trong json từ struct, chúng ta có thể sửa đổi cấu trúc như

Tại thời điểm này, main.go của chúng ta sẽ giống như

Cuối cùng, chúng ta có thời gian để tạo hàm getArticles .

Dễ dàng như vậy. Bây giờ chúng tôi điền vào phần còn lại của các tuyến đường.

Nhận bài báo

Chúng tôi sẽ lặp lại danh sách các bài viết và trả về một bài phù hợp với id chúng tôi đã gửi trong url

Tạo bài viết mới

Chúng tôi sẽ tạo một đối tượng bài viết mới của struct Article và thêm nó vào lát articles .

Cập nhật một bài báo

Xóa một bài báo

Mã nguồn

git

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo