Rumah >pembangunan bahagian belakang >Golang >Menggunakan Swagger dalam Beego dan menggabungkannya dengan Postman untuk ujian API
Beego ialah rangka kerja web untuk pembangunan pesat aplikasi web bahasa Go. Ia menyediakan banyak ciri dan alatan untuk memudahkan proses pembangunan. Ciri dan alatan ini termasuk sokongan untuk Swagger (alat penjanaan dokumentasi API) dan Postman (alat ujian API), kedua-duanya membolehkan pembangun mengurus dan menguji API dengan mudah Artikel ini akan memperkenalkan cara menggunakan Swagger dalam Beego dan menggabungkan prestasi Postman Ujian API.
1. Pasang Swagger
Swagger ialah rangka kerja sumber terbuka untuk mereka bentuk, membina, mendokumenkan dan menguji perkhidmatan web RESTful. Dengan Swagger, anda boleh melihat permintaan dan respons setiap kaedah API dalam dokumentasi API yang dijana secara dinamik.
Pertama, anda perlu memasang Swagger. Masukkan arahan berikut:
go get -u github.com/swaggo/swag/cmd/swag
Selepas pemasangan selesai, masukkan arahan berikut sekali lagi:
swag init
Ini akan menjana folder dokumen dalam akar aplikasi Beego anda yang mengandungi dokumentasi Swagger yang dijana.
2. Sepadukan Swagger ke dalam Beego
Seterusnya, anda perlu menyepadukan Swagger ke dalam Beego. Untuk melakukan ini, anda perlu memperkenalkan ketergantungan swagger dan beego/konteks dalam fail main.go anda.
import(
"github.com/astaxie/beego" "github.com/astaxie/beego/context" _ "your-app-doc-path/docs"
)
Sekarang, tambah kod berikut dalam fungsi init() fail main.go anda:
func main( ) {
if beego.BConfig.RunMode == beego.DEV { beego.BConfig.WebConfig.DirectoryIndex = true beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger" // 添加路由,可以自定义,这里设置为/swagger beego.InsertFilter("/*", beego.BeforeRouter, func(ctx *context.Context) { ctx.Output.Header("Access-Control-Allow-Origin", "*") ctx.Output.Header("Access-Control-Allow-Headers", "Content-Type,Token") ctx.Output.Header("Access-Control-Allow-Methods", "POST,GET") }) } // 注册Swagger路由 beego.BConfig.WebConfig.StaticDir["/docs"] = "docs" beego.BeeApp.Handlers.Get("/docs/*", func(ctx *context.Context) { ctx.Output.Header("Content-Type", "text/html;charset=utf-8") ctx.Output.Body(swaggerFiles.Index) })
}
Kod ini akan mencipta folder swagger dalam direktori akar aplikasi anda untuk menyimpan fail UI Swagger. Apabila Beego dimulakan, direktori UI Swagger akan didaftarkan sebagai laluan statik. Oleh kerana UI Swagger ialah satu set fail HTML, CSS dan JavaScript statik, fail tersebut diakses daripada direktori sumber statik.
Anda perlu membuka UI Swagger dalam penyemak imbas anda dengan memasukkan URL berikut:
http://localhost:[port]/docs/index.html
Di sini, sila Gantikan [port] dengan nombor port pelayan anda.
3. Tulis ulasan Swagger
Selepas menyepadukan Swagger, kini anda perlu menulis ulasan Swagger untuk API anda. Ia boleh dilaksanakan dengan cara berikut:
Pertama, cipta fail swagger.go, dan kemudian tambah kod berikut:
pengawal pakej
/* Kategori operasi
*/
// swagger:parameter tambah sub
taip struct Operands {
// The first operand // in: path // required: true A int `json:"a"` // The second operand // in: path // required: true B int `json:"b"`
}
/* Hasil pulangan
*/
/ / swagger:response OperResult
taip OperandsResultWrapper struct {
// in:body Body struct { // 运算结果 Result int `json:"result,omitempty"` }
}
/ Tambah/
// swagger:route GET /add /{a}/{b} add
//
// Untuk tambahan
//
// Predikat yang disokong: GET
// Parameter:
// + A: (laluan) - operan pertama (hanya boleh menjadi integer)
// + B: (laluan) - operan kedua (hanya boleh menjadi integer)
// Kandungan yang diterima:
// Menghasilkan:
// + Hasil pengembalian (aplikasi/json)
// + Ralat (aplikasi/json)
//
// swagger:parameter tambah
// swagger:respons OperResult
func (o *OperationController) Add() {
// ...
}
Di sini, kami mentakrifkan anotasi Swagger untuk menerangkan permintaan dan respons API. Anotasi menggunakan sintaks Swagger untuk menerangkan peraturan penghalaan, parameter arahan dan jenis hasil. Khususnya:
4. Test API
Kini, aplikasi Beego anda boleh menggunakan Swagger dan mempunyai anotasi Swagger yang sesuai. Seterusnya, anda boleh menggunakan Posman untuk menguji API anda.
Dalam Posmen, masukkan alamat URL API anda dan parameter yang diperlukan, kemudian pilih kata kerja GET. Anda kemudiannya boleh menyemak sama ada API berfungsi dengan betul menggunakan set ujian seperti yang terdapat dalam fail swagger_generated_api_test.go.
5. Ringkasan
Dalam artikel ini, kami memperkenalkan cara menggunakan Swagger dalam Beego digabungkan dengan Posman untuk ujian API. Kami mula-mula memperkenalkan cara memasang Swagger dan kemudian menunjukkan cara menyepadukan Swagger dalam Beego. Seterusnya, kami menunjukkan cara menulis anotasi Swagger dan menggunakan Posman untuk ujian API. Langkah-langkah ini adalah penting bagi mana-mana pembangun yang menggunakan Beego untuk membangunkan API web RESTful, kerana ia menjadikannya lebih pantas dan lebih mudah bagi pembangun untuk membangunkan dan menguji aplikasi web berkualiti tinggi.
Atas ialah kandungan terperinci Menggunakan Swagger dalam Beego dan menggabungkannya dengan Postman untuk ujian API. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!