简体中文
Ziel dieses Projekts ist es, die WeCom-Dokumentation in die OpenAPI-Spezifikation zu übersetzen, damit Sie Client-Code in verschiedenen Programmiersprachen generieren können. Derzeit verwenden wir Version 3.x der OpenAPI-Spezifikation.
$ npm install
Wenn die App ausgeführt wird, wird die OpenAPI-Spezifikationsdatei openapi.yaml
generiert. Sie können http://localhost:3000/openapi
öffnen, um die Swagger-Benutzeroberfläche anzuzeigen.
$ npm run start
swagger-codegen ist ein sehr beliebtes Tool zum Generieren von Code aus der OpenAPI-Spezifikation. Wenn Sie jedoch Golang verwenden, wird Go-Swagge empfohlen.
go-swagge basiert auf der OpenAPI-Spezifikation 2.0, Sie müssen also ein Downgrade der Version durchführen.
$ npm install -g api-spec-converter
$ api-spec-converter --from=openapi_3 --to=swagger_2 --syntax=yaml --order=alpha ./openapi.yaml > swagger.yaml
Generieren Sie dann Golang-Code aus der Datei 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
Dieses Projekt basiert auf der Swagger-Integration von NestJS. Weitere Informationen finden Sie unter OpenAPI (NestJS).
nest g --no-spec controller department
Normalerweise deklarieren wir DTOs und Antworten in verschiedenen Klassen.
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
ist erforderlich.description
, example
empfohlen. @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
Erforderlich, eindeutig, ist der Funktionsname im Generierungscode.summary
ErforderlichexternalDocs
Link zum offiziellen WeCom-Dokument. Zuerst müssen Sie ein access_token
erhalten, um die API-Aufrufe zu autorisieren.
Der Browser hat ein CORS-Problem, daher können wir nicht direkt auf wx-work zugreifen. Deshalb haben wir einen Proxy für Sie erstellt. Um darauf zuzugreifen, verwenden Sie http://localhost:3000/cgi-bin
.