简体中文
Proyek ini bertujuan untuk menerjemahkan dokumentasi WeCom ke dalam Spesifikasi OpenAPI, sehingga Anda dapat menghasilkan kode klien dalam berbagai bahasa pemrograman. Saat ini, kami menggunakan Spesifikasi OpenAPI versi 3.x.
$ npm install
Saat aplikasi berjalan, file Spesifikasi OpenAPI openapi.yaml
akan dibuat. Anda dapat membuka http://localhost:3000/openapi
untuk melihat UI Swagger.
$ npm run start
swagger-codegen adalah alat yang sangat populer untuk menghasilkan kode dari Spesifikasi OpenAPI. Namun jika Anda menggunakan Golang, disarankan menggunakan go-swagge.
go-swagge didasarkan pada Spesifikasi OpenAPI 2.0, jadi Anda perlu menurunkan versinya.
$ npm install -g api-spec-converter
$ api-spec-converter --from=openapi_3 --to=swagger_2 --syntax=yaml --order=alpha ./openapi.yaml > swagger.yaml
Kemudian buat kode Golang dari file swagger.yaml
.
$ brew tap go-swagger/go-swagger
$ brew install go-swagger
$ mkdir wecom-api && cd wecom-api
# NOTE: you need run go mod init to create a go.mod file
$ go mod init wecom-api
$ swagger generate client -f swagger.yaml -t wecom-api
Proyek ini didasarkan pada integrasi Swagger dari NestJS. Lihat OpenAPI(NestJS) untuk detailnya.
nest g --no-spec controller department
Biasanya, kami mendeklarasikan DTO dan Respons di kelas yang berbeda.
nest g --no-spec class department/Department
@ApiProperty({
required: false,
type: 'string',
isArray: true,
maxItems: 100,
example: '["abel"]',
description: 'user id list, max length is 100',
})
userid_list: string[];
required
, type
diperlukan.description
, example
direkomendasikan。 @ApiOperation({
operationId: 'getGroupChat',
summary: 'Get user group detail',
description: 'Get user group detail',
externalDocs: {
url: 'https://developer.work.weixin.qq.com/document/path/92122',
},
})
operationId
Diperlukan, Unik, Adalah nama fungsi dalam kode pembangkitan.summary
DiperlukanexternalDocs
Tautan ke dokumen resmi WeCom. Pertama, Anda perlu mendapatkan access_token
untuk mengotorisasi panggilan api.
Browser mengalami masalah CORS, jadi kami tidak dapat mengakses wx-work secara langsung. Jadi kami membuatkan proxy untuk Anda. Untuk mengakses, gunakan http://localhost:3000/cgi-bin
.