鍍金池/ 問(wèn)答/Linux  網(wǎng)絡(luò)安全/ swagger editor 自動(dòng)生成客戶端代碼的一點(diǎn)問(wèn)題

swagger editor 自動(dòng)生成客戶端代碼的一點(diǎn)問(wèn)題

由于最近寫api,所以用到了 swagger ,瞬間覺得這個(gè)工具無(wú)比強(qiáng)大,但是在自動(dòng)生成客戶端代碼的時(shí)候還是遇到問(wèn)題了,尷尬。。。

我下載了 swagger editor 在本地編寫,寫完之后點(diǎn)擊 Generate Client 生成 typescript-angular2 客戶端代碼,如圖

圖片描述


我遇到的問(wèn)題

swagger 會(huì)自動(dòng)將 小寫加下劃 線形式的命名轉(zhuǎn)化為 駝峰式 命名,舉個(gè)例子:

definitions 下面定義一個(gè)model

 User:
    type: object
    description: 用戶數(shù)據(jù)結(jié)構(gòu)
    properties:
      id:
        type: integer
      username:
        type: string
        description: 用戶名
      phone:
        type: string
        description: 手機(jī)號(hào)碼
      register_mark:
        type: integer
        description: 注冊(cè)標(biāo)識(shí),是否通過(guò)注冊(cè)添加 0: 否;1:是
      status:
        type: integer
        description: 用戶狀態(tài) 0: 禁用;1:正常
      deleted_at:
        type: string
      created_at:
        type: string
      updated_at:
        type: string

最終生成的 angular2 的代碼就會(huì)是這個(gè)樣子:

export interface User {
    id?: number;

    /**
     * 用戶名
     */
    username?: string;

    /**
     * 手機(jī)號(hào)碼
     */
    phone?: string;

    /**
     * 注冊(cè)標(biāo)識(shí),是否通過(guò)注冊(cè)添加 0: 否;1:是
     */
    registerMark?: number;

    /**
     * 用戶狀態(tài) 0: 禁用;1:正常
     */
    status?: number;

    deletedAt?: string;

    createdAt?: string;

    updatedAt?: string;

}

可以看到 register_markdeleted_at,created_at,updated_at 這些字段最終都轉(zhuǎn)化成了駝峰式命名的形式。

雖然說(shuō) angular 也許是有這種編碼規(guī)范要求,但是現(xiàn)在我希望在生成代碼的時(shí)候不要轉(zhuǎn)化命名,該怎么操作?

回答
編輯回答
淺淺

生成無(wú)法控制的,生成的代碼你重構(gòu)修改一下就ok

2017年12月22日 15:47