我目前正在通过以下方式使用 Swagger php 库: https://github.com/DarkaOnLine/L5-Swagger
在我的示例模型类中是这样的:
/** @OASchema(
* title="ProductPromotion",
* @OAProperty(property="id", type="integer"),
* @OAProperty(property="uid", type="string"),
* @OAProperty(property="store_id", type="integer"),
* )
*/
class ProductPromotion extends Model
{
..
}
请注意,我在那里的第 3 个属性中写了"store_id"。但是当我使用这个 jar 文件时:openapi-generator-cli-4.1.3,我得到这样的界面:
export interface ProductPromotion {
id?: number;
uid?: string;
storeId?: number;
}
名称从"store_id"更改为"storeId"。我不要这个,有人知道如何解决这个问题吗?
编辑:用于生成以下内容的命令:
java -jar openapi-generator-cli-4.1.3.jar generate -i C:UsersASUSDesktopOpenAPICodegenswagger.json -g typescript-angular -o C:UsersASUSDesktopOpenAPICodegendist
也许这可以帮助你:
https://github.com/openapitools/openapi-generator/wiki/FAQ
打字稿 JSON 响应由于变量命名的更改(snake_case camelCase(而无法正确反序列化到对象中。有什么方法可以保留原始命名吗? 是的,请在生成 TypeScript 客户端时使用以下选项:
modelPropertyNaming
Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
多亏了iizno 的回答,我设法通过在生成打字稿代码时添加这个附加属性来解决它。
java -jar openapi-generator-cli-4.1.3.jar generate -i C:UsersASUSDesktopOpenAPICodegenswagger.json -g typescript-angular -o C:UsersASUSDesktopOpenAPICodegendist --additional-properties modelPropertyNaming=snake_case