如何使用 typescript-fetch 通过 openapi-generator 生成真正简约的模型接口?

问题描述 投票:0回答:1

我正在尝试

openapi-generator
及其
typescript-fetch
生成器实现。总的来说,生成器很好,但在我看来,它做得有点太多了。

我可以将

openapi-generator
配置为仅生成模型,这将是我的最终目标。然而,
typescript-fetch
生成器坚持生成序列化和反序列化辅助函数,这些函数从
exists
导入一些
map
../runtime
。但是,虽然只生成了模型,但
../runtime
当然丢失了。就我而言,我完全不需要这些(反)序列化器助手,我想完全忽略它们。我目前没有看到任何选项可以这样做。

ExampleModel.ts

// This line does not compile in model-only mode
import { exists, mapValues } from '../runtime';

/**
 * 
 * @export
 * @interface ExampleModel 
 */
export interface ExampleModel {
    /**
     * 
     * @type {number}
     * @memberof ExampleModel 
     */
    someNumber?: number;
}

// These functions are useless for me and do only trouble

export function ExampleModelFromJSON(json: any): AuthenticateUserCommand {
    return ExampleModelFromJSONTyped(json, false);
}

export function ExampleModelFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExampleModel {
    if ((json === undefined) || (json === null)) {
        return json;
    }
    return {
        
        'someNumber': !exists(json, 'someNumber') ? undefined : json['someNumber'],
    };
}

export function ExampleModelToJSON(value?: ExampleModel | null): any {
    if (value === undefined) {
        return undefined;
    }
    if (value === null) {
        return null;
    }
    return {
        
        'someNumber': value.someNumber
    };
}

有没有办法生成一个真正简约的模型(打字稿界面)?我可以在我们的项目范围内以某种方式自定义胡子模板吗?任何帮助将不胜感激。

typescript swagger openapi openapi-generator
1个回答
0
投票

我想我有点晚了,但我认为你可以使用“withoutRuntimeChecks”flag,来摆脱运行时转换和检查部分。

© www.soinside.com 2019 - 2024. All rights reserved.