wecom openapi
1.0.0
简体中文
このプロジェクトは、さまざまなプログラミング言語でクライアント コードを生成できるように、WeCom ドキュメントを OpenAPI 仕様に翻訳することを目的としています。現在、OpenAPI 仕様のバージョン 3.x を使用しています。
$ npm install
アプリの実行中に、OpenAPI 仕様ファイルopenapi.yaml
が生成されます。 http://localhost:3000/openapi
を開いて Swagger UI を表示できます。
$ npm run start
swagger-codegen は、OpenAPI 仕様からコードを生成するための非常に人気のあるツールです。ただし、Golang を使用している場合は、go-swagge をお勧めします。
go-swagge は OpenAPI 仕様 2.0 に基づいているため、バージョンをダウングレードする必要があります。
$ npm install -g api-spec-converter
$ api-spec-converter --from=openapi_3 --to=swagger_2 --syntax=yaml --order=alpha ./openapi.yaml > swagger.yaml
次に、 swagger.yaml
ファイルから Golang コードを生成します。
$ 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
このプロジェクトは、NestJS の Swagger 統合に基づいています。詳細はOpenAPI(NestJS)を参照してください。
nest g --no-spec controller department
通常、DTO と応答は別のクラスで宣言します。
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
必須です。description
、 example
お勧めします。 @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
必須、一意、生成コード内の関数名です。summary
必須externalDocs
WeCom 公式ドキュメントへのリンク。 まず、API 呼び出しを承認するためにaccess_token
取得する必要があります。
ブラウザに CORS の問題があるため、wx-work に直接アクセスできません。そこで私たちはあなたのために代理人を作りました。アクセスするには、 http://localhost:3000/cgi-bin
を使用します。