Tìm việc làm nhanh & Tuyển dụng hiệu quả
0Chat
Quay lại

Swagger là gì? Bạn hiểu gì về công cụ viết document cho API?

Tác giả: Phương Anh Nguyễn

Lần cập nhật gần nhất: ngày 13 tháng 04 năm 2021

Theo dõi timviec365 tại google new

Với dân công nghệ thì Swagger có lẽ là thuật ngữ đã trở nên quá quen thuộc. Tuy nhiên, với những người ngoại đạo thì rất dễ lầm tưởng Swagger giống như một câu slogan mà giới trẻ hiện nay rất hay sử dụng “Swag!” (thể hiện sự chất chơi, cá tính). Vậy, ý nghĩa của Swagger là gì? Ứng dụng của thuật ngữ này ra sao? Cùng đi tìm lời giải đáp qua bài viết dưới đây nhé!

Việc làm IT

1. Bạn hiểu như thế nào về Swagger là gì?

Hiểu ý nghĩa của Swagger là gì để giúp bạn có thể ứng dụng công cụ này một cách tốt nhất cho công việc của mình.

Swagger
Swagger

Tuy nhiên, trước khi đi tìm hiểu định nghĩa của Swagger thì bạn cần biết Open API là gì và có mối tác động, liên hệ ra sao với Swagger.

1.1. Hiểu gì về Open API?

Open API được biết đến với tên đầy đủ là Open API Specification. Đây được biết đến là một loại định dạng dùng để mô tả API cho một Rest APIs hiện nay. Với duy nhất một file Open API, bạn sẽ có thể mô tả được toàn bộ API. Điều này có nghĩa là việc mô tả sẽ bao gồm cả những nội dung sau đây:

- Tạo điều kiện hoạt động các các endpoints hay là các users cũng như cách thức hoạt động của các endpoints đó như get/users, post/users.

- Hiển thị rõ được các tham số về đầu vào và đầu ra của mỗi hoạt động.

- Thể hiện các phương thức xác thực được sử dụng.

Open API là gì?
Open API là gì?

- Thể hiện các thông tin liên lạc, các chứng chỉ, những điều khoản liên quan đến việc sử dụng và các thông tin liên quan khác.

Thực tế thì API Specifications hiện có thể được viết bằng các định dạng như JSOL hay YAML. Đây được biết đến là hai định dạng có lợi cho cả người dùng và hệ thống máy tính khi rất dễ đọc, dễ hiểu để sử dụng.  

Tìm hiểu thêm: Spring Boot là gì?

1.2. Định nghĩa Swagger là gì?

Nếu như Open API có ý nghĩa quan trọng như trên thì điều gì đã tạo nên được bộ mô tả này? Và đó chính là Swagger. Swagger được hiểu là một công cụ có mã nguồn mở và dùng để xây dựng nên Open API Specifications. Công cụ này sẽ giúp bạn trong việc thiết kế, tạo dựng các tài liệu cũng như việc sử dụng Rest APIs.

Với các nhà phát triển, khi sử dụng Swagger sẽ được cung cấp 3 tool chính như sau: 

Swagger là gì?
Swagger là gì?

- Tool Swagger Editor: Được sử dụng để thiết kế, xây dựng nên các APIs một cách mới hoàn toàn hoặc là có thể edit lại từ những APIs có sẵn với việc tận dụng một file config.

- Tool Swagger Codegen: Có tác dụng trong việc generate ra code thông qua sử dụng các file config sẵn có trước đó.

- Tool Swagger UI: Ứng dụng trong việc generate các file ra HTML, CSS,...xuất phát từ một file config.

Để có thể thực hiện việc viết document cho Swagger thì các developers sẽ có 2 cách để tiếp cận với bộ mã nguồn mở này. 

- Cách 1: Top down approach: dùng để thiết kế nên các APIs trước khi thực hiện việc code liên quan.

- Cách 2: Bottom down approach: dùng để mô tả các vấn đề, thông số liên quan API thông qua việc sử dụng thiết kế có sẵn của file config.

Các tool được sử dụng
Các tool được sử dụng

Với những tool được liệt kê ở trên của Swagger thì Swagger UI được biết đến là một tool có sự thông dụng phổ biến nhất hiện nay. Với tool Swagger UI, tool này có ứng dụng rất lớn trong việc xây dựng giao diện cho các tài liệu bắt nguồn từ file config áp dụng dưới chuẩn của Ipen API. Giao diện được tạo ra bởi tool này thường có tính tường minh và khá rõ ràng, hiện ra một cách cụ thể nhất cho các nhà phát triển. Điều này sẽ giúp ích rất lớn cho cả người dùng lẫn các lập trình viên trong việc đọc hiểu và sử dụng. Thêm vào đó, đây cũng là dẫn chứng có việc các developers sử dụng file config nhưng lại có sự tách biệt một cách hoàn toàn giữa các tác vụ với nhau.

Mỗi API được sử dụng trong quá trình này sẽ cho chúng ta biết một cách chính xác nhất về nguồn vào và nguồn ra một cách chi tiết. Thêm vào đó chính là việc những trường cần phải được gửi lên hệ thống cũng như các trạng thái kết quả có thể được trả về. Điều đặc biệt nhất có lẽ chính là việc ta có thể đưa các dữ liệu vào trong để test thử các kết quả liệu có thực sự chính xác và đảm bảo tính đúng đắn hay không. 

Tham khảo: Tuyển dụng việc làm lập trình viên

2. Những cấu trúc cơ bản của Swagger là gì?

Việc tìm hiểu các cấu trúc cơ bản của Swagger sẽ giúp cho các lập trình viên có thể hiểu rõ hơn về bộ công cụ này cũng như có các ứng dụng một cách thích hợp nhất trong các trường hợp cụ thể. 

2.1. Metadata hay Info

Hầu hết, mỗi Open API Specifications được sử dụng đều sẽ bắt đầu với từ khóa “Open API” nhằm mục đích cho việc khai báo tên của phiên bản đó. Với loại phiên bản được sử dụng sẽ có ý nghĩa trong việc định nghĩa lại toàn bộ những cấu trúc ở trong API. Phân info sẽ có các thông tin cơ bản về API như title, description và các version. Cụ thể thì:

Cấu trúc của Swagger
Cấu trúc của Swagger

- Title sẽ là tên mà bạn đặt cho API của mình.

- Description chính là các thông tin về API của bạn được đưa ra một cách chi tiết avf xuất hiện ở nhiều mặt cụ thể khác nhau. Với việc mô tả này thì bạn hoàn toàn có thể viết thành nhiều dòng nếu như quá dài và sử dụng cú pháp hỗ trợ như markdown.

- Version là phiên bản được sử dụng trong quá trình tạo dựng của bạn với API.

Metadata hay Info sẽ có chức năng trong việc hỗ trợ đưa ra các từ khóa về các thông tin liên quan như thông tin liên lạc, thông tin về chứng chỉ, các điều khoản trong việc sử dụng,...

2.2. Servers

Để có thể test được các API thì bạn cần có một đường dẫn liên quan đến servers. Và đây chính là phần tạo ra một đường dẫn cụ thể của servers được sử dụng để thực hiện chức năng trên. Trong phần này, việc định nghĩa một hay là nhiều các servers khác nhau sẽ hoàn toàn tùy thuộc vào quyết định của bạn.

Xem thêm: Front end là gì? Kỹ năng gì cho một Front end developer chuyên nghiệp?

2.3. Paths

Được biết phần mấu chốt, trọng tâm của API được sử dụng. Với phần này, nhiệm vụ của bạn và những nhà lập trình viên khác chính là định nghĩa những paths xuất hiện trong API hay các phương thức, những tham số cụ thể tồn tại trong API đó.

Gồm 4 thành phần cơ bản
Gồm 4 thành phần cơ bản

Một vài lưu ý trong phần này cần được chú ý như sau:

- Việc bắt đầu sẽ cần phải bằng từ khóa “paths”.

- Tiếp đó mới đến những thành phần có trong API như users,..

- Sau đó chính là các phương thức được sử dụng trong API như Get, Post, Delete,...

- Phần mô tả một cách tóm tắt, ngắn gọn của API: Summary

- Những tham số được đưa vào trong API gọi là parameters. Với phần này bạn có thể thực hiện việc set các tham số required, thực hiện việc mô tả những tham số đó hoặc là validate cho chúng. Thêm vào đó, điều đặc biệt ở phần này chính là việc bạn có thể chỉ định một model bất kỳ nhằm mục đích định nghĩa cho những tham số đó.

- Cuối cùng là phần trả về của server đó hay còn được biết đến là response. Với phần trả về này thì bạn có thể thực hiện việc định nghĩa cho các HTTP code mà người dùng có thể nhận được như 200, 404,... kèm theo đó là những dòng mô tả xuất hiện với từng trường hợp cụ thể.

Những điều chú ý trong path
Những điều chú ý trong path

Thêm vào đó, ở phần này, các parameters sẽ sở hữu khá nhiều loại khai báo khác nhau đứng sau từ khóa “in” mà chúng ta đều cần phải lưu ý:

- In body: Giúp cho người dùng có một không gian để tạo ra một dữ liệu đầu vào. Ở không gian này, người dùng hoàn toàn có thể nhập  các dữ liệu về những yêu cầu cơ bản vào trong đó.

- In formData: Giúp cho người dùng tạ được input đã được định trước để có thể thực hiện nhập các dữ liệu yêu cầu theo từng miền đã được định sẵn.

- In path: Sử dụng trong việc tạo lập một input vào trong giá trị để khai báo trong các routers, thông thường được gọi là ID. 

- In query: Được sử dụng trong việc tạo input nhập vào các giá trị thống kê theo các miền định sẵn để dùng trong việc gửi các query request.

- In header: Thực hiện việc dùng để khai báo các giá trị có trong header của yêu cầu mà bạn cần thực hiện truyền tải lên. 

2.4. Schema

Nói một cách dễ hiểu và đơn giản nhất thì Schema có thể được định nghĩa như một model. Schema sẽ được thực hiện phần khai báo thông qua việc sử dụng từ khóa component và schemas. 

Bài chi tiết: Schema là gì? Công dụng tuyệt vời của Schema

Những điều lưu ý trong schema
Những điều lưu ý trong schema

Những vấn đề cần quan tâm như:

- Loại tham số đầu tiên được sử dụng là tên của model hay users.

- Sau đó chính là định dạng được sử dụng hay object.

- Cuối cùng chính là các thông tin về thuộc tính.

3. Cài đặt Swagger UI như thế nào?

Như đã nói ở trên thì Swagger UI được biết đến là có tần suất sử dụng cũng như ứng dụng phổ biến nhất trong tất cả các loại Swagger hiện nay. Đây cũng là tool sở hữu những chức năng khá phù hợp và thích hợp trong các API.

Vậy, làm thế nào để cài đặt Swagger UI? Để cài đặt được tool này thì các bạn có thể thực hiện theo các bước sau:

- Bước 1: Thực hiện việc tải thư viện của Swagger UI

Đầu tiên, các bạn cần clone dự án Github về, tiếp đó thực hiện việc copy thư mục dist xuất hiện ở trong dự án đó. Paste vào dự án của bạn, sau đó lựa chọn render file index.html có trong dist. Đến đây, nếu như bạn chạy localhost:3000 ở trên trình duyệt thì bạn sẽ nhận được một trang demo của Swagger UI.

Thảm khảo thêm: Tư vấn việc làm công nghệ thông tin

Swagger UI
Swagger UI 

- Bước 2: Thực hiện việc tạo config ở trong các cấu hình APIs

Thực tế thì ở trong một file yaml có trong Swagger sẽ có những cấu trúc như sau: Open API, Info, Title, Version, Description, Security, Paths, Component.

Bên cạnh những điều này thì sẽ có cả những keyword khác mà các bạn có thể sử dụng tại trang document của Swagger.

Ngoài yaml thì bạn cũng có thể viết các config ở dưới dạng Jsol với Swagger. Tuy nhiên, lời khuyên cho bạn chính là tốt nhất hãy nên viết ở định dạng yaml. Sau đó hãy tạo một file yaml của bạn với cấu trúc giống như trong Swagger UI demo đã có trước đó. Chỉ vài bước đơn giản là ta đã có thể có được một file config với đầy đủ các thông tin khá chi tiết về APIs. Tiếp đến chính là việc lưu lại tệp vào trong thư mục dist ở bước 1. 

- Bước 3: Thực hiện việc cập nhật lại đường dẫn của file config 

Cài đặt như thế nào?
Cài đặt như thế nào?

Để thực hiện việc cập nhật này bạn cần mở file có tên là index.html ở trong dist. Sau đó, tìm Swagger UI Bundle và thực hiện việc sửa path url thành đường dẫn mà bạn vừa tạo được trước đó. Tiếp đó bạn hãy lưu lại, rồi chạy server và truy cập lại vào router đã xuất hiện ở ngay bước 1.

Trên đây là những thông tin cơ bản về Swagger gửi tới các bạn. Hy vọng rằng, với những chia sẻ trên đây thì các bạn đã hiểu được Swagger là gì và ứng dụng của Swagger hiện nay.

RSA là gì? Bạn có biết RSA có cơ chế hoạt động như thế nào?

Trong lĩnh vực mật mã học, RSA là một thuật ngữ quen thuộc, không những thế còn rất nổi tiếng bởi nó được tìm ra và định nghĩa bởi 3 nhà khoa học lớn. RSA đánh dấu sự tiến bộ vượt bậc trong linh vực mật mã học nói chung và được dùng rất rộng rãi trong hoạt động thương mại điện tử. Vậy RSA là gì và những thông tin đến RSA có gì đặc biệt? Hãy đọc ngay bài viết dưới đây để mở rộng hiểu biết của mình bạn nhé.

RSA là gì?

Từ khóa liên quan

Chuyên mục

Bí quyết viết CV-Tâm sự Nghề nghiệp-Cẩm Nang Tìm Việc-Kỹ Năng Tuyển Dụng-Cẩm nang khởi nghiệp-Kinh nghiệm ứng tuyển việc làm-Kỹ năng ứng xử văn phòng-Quyền lợi người lao động-Bí quyết đào tạo nhân lực-Bí quyết lãnh đạo-Bí quyết làm việc hiệu quả-Bí quyết viết đơn xin nghỉ phép-Bí quyết viết thư xin thôi việc-Cách viết đơn xin việc-Bí quyết thành công trong công việc-Bí quyết tăng lương-Bí quyết tìm việc dành cho sinh viên-Kỹ năng đàm phán lương-Kỹ năng phỏng vấn-Kỹ năng quản trị doanh nghiệp-Kinh nghiệm tìm việc làm tại Hà Nội-Kinh nghiệm tìm việc làm tại Đà Nẵng-Mẹo viết hồ sơ xin việc-Mẹo viết thư xin việc-Chia sẻ kinh nghiệm ngành Kinh doanh - Bán hàng-Định hướng nghề nghiệp-Top việc làm hấp dẫn-Tư vấn nghề nghiệp lao động phổ thông-Tư vấn việc làm Hành chính văn phòng-Tư vấn việc làm ngành Báo chí-Tư vấn tìm việc làm thêm-Tư vấn việc làm ngành Bất động sản-Tư vấn việc làm ngành Công nghệ thông tin-Tư vấn việc làm ngành Du lịch-Tư vấn việc làm ngành Kế toán-Tư vấn việc làm ngành Kỹ thuật-Tư vấn việc làm ngành Sư phạm-Tư vấn việc làm ngành Luật-Tư vấn việc làm thẩm định-Tư vấn việc làm vị trí Content-Tư vấn việc làm ngành Nhà hàng - Khách sạn-Tư vấn việc làm quản lý-Kỹ năng văn phòng-Nghề truyền thống-Các vấn đề về lương-Tư vấn tìm việc làm thời vụ-Cách viết Sơ yếu lý lịch-Cách gửi hồ sơ xin việc-Biểu mẫu phục vụ công việc-Tin tức tổng hợp-Ý tưởng kinh doanh-Chia sẻ kinh nghiệm ngành Marketing-Kinh nghiệm tìm việc làm tại Bình Dương-Kinh nghiệm tìm việc làm tại Hồ Chí Minh-Mẹo viết Thư cảm ơn-Góc Công Sở-Câu chuyện nghề nghiệp-Hoạt động đoàn thể-Tư vấn việc làm Biên - Phiên dịch-Tư vấn việc làm Ngành Nhân Sự-Tư vấn việc làm Ngành Xuất Nhập Khẩu - Logistics-Tư vấn việc làm Ngành Tài Chính - Ngân Hàng-Tư vấn việc làm Ngành Xây Dựng-Tư vấn việc làm Ngành Thiết kế - Mỹ thuật-Tư vấn việc làm Ngành Vận tải - Lái xe-Quản trị nhân lực -Quản trị sản xuất-Cẩm nang kinh doanh-Tư vấn việc làm Ngành Thiết kế - Nội thất-Mô tả công việc ngành Kinh doanh-Mô tả công việc ngành Bán hàng-Mô tả công việc Tư vấn - Chăm sóc khách hàng-Mô tả công việc ngành Tài chính - Ngân hàng-Mô tả công việc ngành Kế toán - Kiểm toán-Mô tả công việc ngành Marketing - PR-Mô tả công việc ngành Nhân sự-Mô tả công việc ngành IT - Công nghệ thông tin-Mô tả công việc ngành Sản xuất-Mô tả công việc ngành Giao nhận - Vận tải-Mô tả công việc Kho vận - Vật tư-Mô tả công việc ngành Xuất nhập khẩu – Logistics-Mô tả công việc ngành Du lịch - Nhà hàng - Khách sạn-Mô tả công việc ngành Hàng không-Mô tả công việc ngành Xây dựng-Mô tả công việc ngành Y tế - Dược-Mô tả công việc Lao động phổ thông-Mô tả công việc ngành Kỹ thuật-Mô tả công việc Nhà nghiên cứu-Mô tả công việc ngành Cơ khí - Chế tạo-Mô tả công việc bộ phận Quản lý hành chính-Mô tả công việc Biên - Phiên dịch-Mô tả công việc ngành Thiết kế-Mô tả công việc ngành Báo chí - Truyền hình-Mô tả công việc ngành Nghệ thuật - Điện ảnh-Mô tả công việc ngành Spa – Làm đẹp – Thể lực-Mô tả công việc ngành Giáo dục - Đào tạo-Mô tả công việc Thực tập sinh - Intern-Mô tả công việc ngành Freelancer-Mô tả công việc Công chức - Viên chức-Mô tả công việc ngành Luật - Pháp lý-Tư vấn việc làm Chăm Sóc Khách Hàng -Tư vấn việc làm Vật Tư - Kho Vận-Hồ sơ doanh nhân-Việc làm theo phường-Danh sách các hoàng đế nổi tiếng-Tài liệu gia sư-Vĩ Nhân Thời Xưa-Chấm Công-Danh mục văn thư lưu trữ-Tài Sản Doanh Nghiệp-KPI Năng Lực-Nội Bộ Công Ty - Văn Hóa Doanh Nghiệp-Quản Lý Quan Hệ Khách Hàng-Quản Lý Công Việc Nhân Viên-Chuyển văn bản thành giọng nói-Giới Thiệu App Phiên Dịch-Quản Lý Kênh Phân Phối-Đánh giá nhân viên-Quản lý ngành xây dựng-Hóa đơn doanh nghiệp-Quản Lý Vận Tải-Kinh nghiệm Quản lý mua hàng-Danh thiếp cá nhân-Quản Lý Trường Học-Quản Lý Đầu Tư Xây Dựng-Kinh Nghiệm Quản Lý Tài Chính-Kinh nghiệm Quản lý kho hàng-Quản Lý Gara Ô Tô-Xem thêm gợi ý