@dweber019/backstage-plugin-api-docs-module-wsdl
v0.0.17
Published
Additional functionalities for the api-docs plugin that renders the output of WSDL
Downloads
312
Readme
@dweber019/backstage-plugin-api-docs-module-wsdl
Frontend for the @dweber019/backstage-plugin-api-docs-module-wsdl-backend
backend plugin.
You need to install the backend plugin too.
Setup
yarn --cwd packages/app add @dweber019/backstage-plugin-api-docs-module-wsdl
Add the wsdlDocsApiWidget to your apis
Add the widget to your apiDocsConfigRef
.
// packages/app/apis.ts
import {
apiDocsModuleWsdlApiRef,
ApiDocsModuleWsdlClient,
wsdlApiWidget,
} from '@dweber019/backstage-plugin-api-docs-module-wsdl';
export const apis: AnyApiFactory[] = [
createApiFactory({
api: apiDocsModuleWsdlApiRef,
deps: {
identityApi: identityApiRef,
discoveryApi: discoveryApiRef,
},
factory: ({ identityApi, discoveryApi }) =>
new ApiDocsModuleWsdlClient({ identityApi, discoveryApi }),
}),
createApiFactory({
api: apiDocsConfigRef,
deps: {},
factory: () => {
const definitionWidgets = defaultDefinitionWidgets();
return {
getApiDefinitionWidget: (apiEntity: ApiEntity) => {
if (apiEntity.spec.type.toLowerCase() === 'wsdl') {
return wsdlApiWidget(apiEntity);
}
return definitionWidgets.find(d => d.type === apiEntity.spec.type);
},
};
},
}),
];
Set the type in your api entities
This widget will render the generated wsdl
descriptors with the provided xslt
transformation.
apiVersion: backstage.io/v1alpha1
kind: API
metadata:
name: hello-world
description: Hello World example for WSDL
spec:
type: wsdl
lifecycle: deprecated
owner: foo
definition:
$text: http://www.dneonline.com/calculator.asmx?wsdl
You can find more examples in ./dev
.
Local development
There is a local setup at plugins/api-docs-module-wsdl/dev
which can be started with yarn --cwd plugins/api-docs-module-wsdl start
from the root.
Don't forget the local development backend as well.