OpenAPI Schema 解析器
AsyncAPI schema parser用于OpenAPI 3.0.x和斯瓦格 2.x schemas.
说明 版本 +++
3.0.0软件包仅由@asyncapi/parser翻译:2.0.0。 。 。 .
说明 此软件包在
asyncapi/parser-js单列波, 下packages/openapi-schema-parser。它仍然作为 npm 发布@asyncapi/openapi-schema-parser和同一个公共API。 请解开问题并拉动请求parser-js仓库.软件包规格 :
docs/openapi-schema-parser/spec.md。 。 。 .
安装
npm install @asyncapi/openapi-schema-parser
// OR
yarn add @asyncapi/openapi-schema-parser
使用量
import { Parser } from '@asyncapi/parser';
import { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser';
const parser = new Parser();
parser.registerSchemaParser(OpenAPISchemaParser());
const asyncapiWithOpenAPI = `
asyncapi: 2.0.0
info:
title: Example with OpenAPI
version: 0.1.0
channels:
example:
publish:
message:
schemaFormat: 'application/vnd.oai.openapi;version=3.0.0'
payload: # The following is an OpenAPI schema
type: object
properties:
title:
type: string
nullable: true
author:
type: string
example: Jack Johnson
`;
const { document } = await parser.parse(asyncapiWithOpenAPI);
const { Parser } = require('@asyncapi/parser');
const { OpenAPISchemaParser } = require('@asyncapi/openapi-schema-parser');
const parser = new Parser();
parser.registerSchemaParser(OpenAPISchemaParser());
const asyncapiWithOpenAPI = `
asyncapi: 2.0.0
info:
title: Example with OpenAPI
version: 0.1.0
channels:
example:
publish:
message:
schemaFormat: 'application/vnd.oai.openapi;version=3.0.0'
payload: # The following is an OpenAPI schema
type: object
properties:
title:
type: string
nullable: true
author:
type: string
example: Jack Johnson
`;
const { document } = await parser.parse(asyncapiWithOpenAPI);
它还支持引用远程 OpenAPI 计划:
import { Parser } from '@asyncapi/parser';
import { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser';
const parser = new Parser();
parser.registerSchemaParser(OpenAPISchemaParser());
const asyncapiWithOpenAPI = `
asyncapi: 2.0.0
info:
title: Example with OpenAPI
version: 0.1.0
channels:
example:
publish:
message:
schemaFormat: 'application/vnd.oai.openapi;version=3.0.0'
payload:
$ref: 'yourserver.com/schemas#/Book'
`;
const { document } = await parser.parse(asyncapiWithOpenAPI);