Swagger trong SpringBoot là gì ?
NỘI DUNG BÀI VIẾT
Bài viết này mình sẽ giới thiệu đến mọi người một công cụ có tên là Swagger. Vậy chúng ta cùng tìm hiểu xem Swagger là gì và cách sử dụng Swagger trong SpringBoot.
1. Swagger là gì ?
Swagger là một phần mềm mã nguồn mở được sử dụng để phát triển thiết kế và làm các document cho các restapi và còn có một số tính năng khác các bạn có thể vào link sau để xem https://swagger.io/docs/specification/2-0/what-is-swagger/
Có một số phần mềm swagger như Swagger Editor, Swagger Codegen, Swagger Inspector, Swagger UI. Trong đó swagger UI được sử dụng nhiều nhất
Vậy tại sao ta nên dùng Swagger? Swagger sẽ hỗ trợ các annoutation giúp cho ứng dụng spring của ta có thể mô tả đươc các API, và đồng thơi build một giao diện giúp người dùng có thể tương tác trực tiếp với các API đó.
2. Ví dụ về Swagger
Để hiểu rõ hơn về Swagger các bạn truy cập đường link sau: http://petstore.swagger.io/
Sau khi bạn truy cập vào trang web, bạn có thể thấy được đang có những API nào trong ứng dụng này và cả những method tương ứng của nó.
Và đối với mỗi API chúng ta có thể biết được input và output của chúng cũng như những status có thể trả về của api này:
3. Swagger trong SpringBoot
3.1 Thư viện:
Các bạn thêm thư viện sau vào trong file build.gradle
// https://mvnrepository.com/artifact/io.springfox/springfox-swagger2
compile group: ‘io.springfox’, name: ‘springfox-swagger2’, version: ‘2.9.2’
Code language: CSS (css)
3.2 Chuẩn bị
Tạo một entity có tên là Category
CategoryRepository:
CategoryService và CategoryServiceImpl
3.3 SwaggerConfig
Chúng ta tạo một file có tên là SwaggerConfig như sau:
Và như vậy là ta đã tích hợp được swagger vào trong ứng dụng Spring Boot, để kiểm tra chúng ta truy cập đường dẫn sau: http://localhost:8080/v2/api-docs. Các bạn có thể sử dụng postman để xem kết quả dưới dạng json.
4. SwaggerUI
Để xem được những thông tin dưới dạng json kia chúng ta sẽ sử dụng Swagger UI. Để sử dụng được swagger UI thì chúng ta thêm thư viện sau:
// https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui
compile group: ‘io.springfox’, name: ‘springfox-swagger-ui’, version: ‘2.9.2’
Code language: CSS (css)
Bây giờ bạn có thể vào trang: http://localhost:8080/swagger-ui.html/ để xem kết quả:
Leave a Reply