- vừa được xem lúc

Golang và Gin - Rượu chuột chũi ?

0 0 10

Người đăng: Nguyễn Xuân Quang

Theo Viblo Asia

Gin - gin-gonic trong Go là gì?

image.png

À không phải tên này là cái này cơ

image.png

Trỗi dậy trong vài năm trở lại đây ở quốc tế và đặc biệt là ở Việt Nam, nguồn nhân lực Golang đang được khai thác hết mức nhất là các bạn giỏi về mảng Go Backend, Go Blockchain đang được các HR xinh đẹp dễ thương săn đuổi nồng nhiệt.

Và để được săn đón nồng nhiệt thì trước tiên các developer chúng ta phải khai thác chú chuột chũi nhà Google này đã. Theo đó, một trong những cái tên làm mưa làm gió ở cộng đồng Golang là Gin, một framework tuyệt vời và không thể thiếu khi bạn lập trình với Go.

Gin framework

Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API, but with performance up to 40 times faster than Martini. If you need smashing performance, get yourself some Gin.

Đó là những gì mà các developers của Gin đã khẳng định. Martini( có vẻ gia đình Go khá thích uống rượu) là một trong những framwork đời đầu tuy nhiên không còn được phát triển nữa. Tuy nhiên các framework ngày nay vẫn luôn lấy cảm hứng từ những tính năng của Martini, mạnh mẽ và tiện lơi.

Fact: Cho bạn nào chưa biết thì Martini là cocktail được tạo ra từ Vermouth và Gin, nhân vật chính của chúng ta, nên có lẽ vì vậy là Gin phát triển một cách thành công nhất 😆

Gin hay Gin-Gonic là một trong những dự án như vậy. Hậu bối của Martini sử dụng một phiên bản tùy biến httprouter, điều này làm cho Gin gần như hoàn hảo để phát triển API hiệu xuất cao. Song đó nó cũng cấp các trình xử lý cho nhiều trường hợp như: middleware, file uploading, logging, binding fronend HTML component với cấu trúc dữ liệu Backend,..

image.png Gin-Gonic là web framework được dùng nhiều nhất trong nhà Go. image.png So sánh giữa Gin và Mux( một framework phổ biến mà bạn có thể dễ dàng tìm kiếm với từ khóa api golang).

Thực chiến

Lý thuyết phải đi đôi với thực hành, ta đã biết Gin rồi giờ thì đến lúc trải nghiệm thôi hehe.

Ta có thể cài đặt package của Gin thông qua câu lên sau trên terminal:

go get github.com/gin-gonic/gin

Có package rồi thì ta tiến hành khởi tạo dự án thôi 😄:

Tạo thư mục chứa dự án

mkdir gin-gonic
cd gin-gonic

Sau đó ta tạo module cho dự án nhé:

go mod init gin-gonic

Và tạo file main.go

touch main.go

Vậy là xong phần khởi tạo. Tiếp đến ta đặt vào file main.go vài dòng code: image.png

Trong đó dòng router := gin.Default() là cách mặc định để tạo 1 router với gin. Sau đó chúng ta sẽ tạo một group đường dẫn có tên là "/api" để tiện cho việc quản lý các api khác nhé. Sau đó ta tạo một phương thức Get với trả về 1 JSON với content: "message":"ping pong successful" và gửi request đến port 8080 nhé.

Kiểm thử kết quả trả về

Kiểm thử bằng lệnh curl như này: curl localhost:8080/api/ping

Kết quả trả về: image.png

Hoặc bằng Postman như mình: image.png

Một số ví dụ khác

image.png

Tóm lại

Golang và Gin thật sự thú vị, ở trên chỉ là một phần nhỏ của Gin, các bạn có thể tìm hiểu thêm bằng cách tìm kiếm các keyword liên quan hoặc các bài viết tham khảo đính kèm bên dưới. Hy vọng bài viết của mình có thể giúp bạn hứng thú hơn với Golang cũng như Gin. Chúng ta sẽ cùng khai thác Go Gin ở các bài viết sau nhé. Cảm ơn các bạn đã dành thời gian cho bài viết này. Have a nice day ❤️.

Các bài viết đã tham khảo:

Github Gin: https://github.com/gin-gonic/gin

BẮT ĐẦU VỚI GIN-GONIC FRAMEWORK: https://sinhnx.dev/lap-trinh/bat-dau-voi-gin-gonic

GIN Introduction: https://medium.com/@tinhuynh1/gin-introduction-23fb8c32a1c1

Bình luận

Bài viết tương tự

- vừa được xem lúc

gRPC - Nó là gì và có nên sử dụng hay không?

Nhân một ngày rảnh rỗi, mình ngồi đọc lại RPC cũng như gRPC viết lại để nhớ lâu hơn. Vấn đề là gì và tại sao cần nó .

0 0 131

- vừa được xem lúc

Embedded Template in Go

Getting Start. Part of developing a web application usually revolves around working with HTML as user interface.

0 0 56

- vừa được xem lúc

Tạo Resful API đơn giản với Echo framework và MySQL

1. Giới thiệu.

0 0 60

- vừa được xem lúc

Sử dụng goquery trong golang để crawler thông tin các website Việt Nam bị deface trên mirror-h.org

. Trong bài viết này, mình sẽ cùng mọi người khám phá một package thu thập dữ liệu có tên là goquery của golang. Mục tiêu chính của chương trình crawler này sẽ là lấy thông tin các website Việt Nam bị deface (là tấn công, phá hoại website, làm thay đổi giao diện hiển thị của một trang web, khi người

0 0 237

- vừa được xem lúc

Tạo ứng dụng craw dữ liệu bing với Golang, Mysql driver

Chào mọi người . Lâu lâu ta lại gặp nhau 1 lần, để tiếp tục series chia sẻ kiến thức về tech, hôm nay mình sẽ tìm hiểu và chia sẻ về 1 ngôn ngữ đang khá hot trong cộng đồng IT đó là Golang.

0 0 75

- vừa được xem lúc

Golang: Rest api and routing using MUX

Routing with MUX. Let's create a simple CRUD api for a blog site. # All . GET articles/ .

0 0 54