Swagger 大摇大摆的用户界面:我们可以将operationId映射到供应商扩展吗?
出于向后兼容性的原因,我们有另一个字段来标识我们的操作(Swagger 大摇大摆的用户界面:我们可以将operationId映射到供应商扩展吗?,swagger,swagger-ui,Swagger,Swagger Ui,出于向后兼容性的原因,我们有另一个字段来标识我们的操作(x-ui-operation-id)。是否可以将该属性用作操作id 我一直试图通过一个插件进行映射,但它破坏了所有的树 我的尝试: const ModifyOperationIdPlugin = function () { return { wrapComponents: { OperationContainer: (Original, { React }) => (props) => {
x-ui-operation-id
)。是否可以将该属性用作操作id
我一直试图通过一个插件进行映射,但它破坏了所有的树
我的尝试:
const ModifyOperationIdPlugin = function () {
return {
wrapComponents: {
OperationContainer: (Original, { React }) => (props) => {
const { op } = props;
if (op.size) {
let customOperationId = op.getIn(["operation", "x-ui-operation-id"]);
if (customOperationId) {
const opModified = op.setIn(
["operation", "operationId"],
customOperationId
);
customOperationId = SwaggerClient.helpers.opId(
opModified.get("operation").toJS(),
props.path,
props.method
);
}
const operationId =
customOperationId ||
op.getIn(["operation", "__originalOperationId"]) ||
op.getIn(["operation", "operationId"]) ||
SwaggerClient.helpers.opIdopId(op.get("operation"), props.path, props.method) ||
op.get("id");
return React.createElement(Original, {
...props,
op: op.setIn(["operation", "operationId"], operationId),
});
}
return React.createElement(Original, props);
},
},
};
};