From fb3cb3627bceb93297eddf3a8ab70f7c4defc990 Mon Sep 17 00:00:00 2001 From: Patrick Niklaus Date: Thu, 17 Jan 2019 16:24:05 +0100 Subject: [PATCH] fix: Only display API version if present (#773) * Only display API version if present * Warn if `info.version` is omitted, error if `info` is missing. --- src/components/ApiInfo/ApiInfo.tsx | 8 +++++++- src/services/OpenAPIParser.ts | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/components/ApiInfo/ApiInfo.tsx b/src/components/ApiInfo/ApiInfo.tsx index e1fcaaea3f..fe595811de 100644 --- a/src/components/ApiInfo/ApiInfo.tsx +++ b/src/components/ApiInfo/ApiInfo.tsx @@ -70,12 +70,18 @@ export class ApiInfo extends React.Component { )) || null; + const version = + (info.version && ( + ({info.version}) + )) || + null; + return (
- {info.title} ({info.version}) + {info.title} {version} {!hideDownloadButton && (

diff --git a/src/services/OpenAPIParser.ts b/src/services/OpenAPIParser.ts index 37a6e13887..335461dad5 100644 --- a/src/services/OpenAPIParser.ts +++ b/src/services/OpenAPIParser.ts @@ -63,6 +63,12 @@ export class OpenAPIParser { if (spec.openapi === undefined) { throw new Error('Document must be valid OpenAPI 3.0.0 definition'); } + if (spec.info === undefined) { + throw new Error('OpenAPI 3.0.0 requires an `info` section'); + } + if (spec.info.version === undefined) { + console.warn('OpenAPI 3.0.0 requires setting a `info.version` field, ignoring.') + } } preprocess(spec: OpenAPISpec) {