简体中文
Este proyecto tiene como objetivo traducir la documentación de WeCom a la especificación OpenAPI, para que pueda generar código de cliente en varios lenguajes de programación. Actualmente, utilizamos la versión 3.x de la especificación OpenAPI.
$ npm install
Cuando la aplicación se esté ejecutando, se generará el archivo de especificación OpenAPI openapi.yaml
. Puede abrir http://localhost:3000/openapi
para ver la interfaz de usuario de Swagger.
$ npm run start
swagger-codegen es una herramienta muy popular para generar código a partir de la especificación OpenAPI. Pero si está utilizando Golang, se recomienda go-swagge.
go-swagge se basa en la especificación OpenAPI 2.0, por lo que es necesario degradar la versión.
$ npm install -g api-spec-converter
$ api-spec-converter --from=openapi_3 --to=swagger_2 --syntax=yaml --order=alpha ./openapi.yaml > swagger.yaml
Luego genere el código Golang a partir del archivo 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
Este proyecto se basa en la integración Swagger de NestJS. Consulte OpenAPI (NestJS) para obtener más detalles.
nest g --no-spec controller department
Por lo general, declaramos DTO y Respuestas en diferentes clases.
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
es requerido.description
, example
recomendado。 @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
Obligatorio, Único, Es el nombre de la función en el código de generación.summary
requeridoexternalDocs
Enlace al documento oficial de WeCom. Primero, necesita obtener un access_token
para autorizar las llamadas a la API.
El navegador tiene un problema con CORS, por lo que no podemos acceder a wx-work directamente. Así que creamos un proxy para ti. Para acceder, utilice http://localhost:3000/cgi-bin
.