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);
      },
    },
  };
};