Mic*_*ski 3 interface swagger typescript openapi
我正在开发一个带有 .NET Core 后端和 React(TS 支持)前端的小型 Web 应用程序。
对于 API 定义/文档,我使用 OpenAPI,但在为客户端生成代码时遇到问题。下面是 yaml 定义的片段(来自 swagger.json),我用它来使用Swagger 编辑器生成客户端界面
crmObiskiPartnerjevResponse:
type: object
properties:
id:
type: integer
format: int32
PoslovniPartner:
type: integer
format: int32
nullable: true
DatumObiska:
type: string
format: date-time
nullable: true
NamenObiskaId:
type: integer
format: int32
nullable: true
Uporabnik:
type: integer
format: int32
nullable: true
Opomba:
type: string
nullable: true
NamenObiskaNaziv:
type: string
nullable: true
UporabnikNaziv:
type: string
nullable: true
PoslovniPartnerNaziv:
type: string
nullable: true
nullable: true
Run Code Online (Sandbox Code Playgroud)
问题在于,当为打字稿生成客户端代码时,Swagger 编辑器会弄乱属性的命名。在此示例中,它将第一个字母转换为小型大写字母 (PoslovniPartner -> poslovniPartner)。任何如何解决这个问题的想法将不胜感激。
/**
* ECE_crmWebAPI
* No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
*
* OpenAPI spec version: v1
*
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
export interface CrmObiskiPartnerjevResponse {
id?: number;
poslovniPartner?: number;
datumObiska?: Date;
namenObiskaId?: number;
uporabnik?: number;
opomba?: string;
namenObiskaNaziv?: string;
uporabnikNaziv?: string;
poslovniPartnerNaziv?: string;
}
Run Code Online (Sandbox Code Playgroud)
请查看 Codegen 常见问题解答: Codegen - 常见问题解答
由于变量命名更改(snake_case 更改为camelCase),JSON 响应无法正确反序列化到对象中。有什么办法可以保留原来的命名吗?
是的,请在生成 TypeScript 客户端时使用以下选项:
modelPropertyNaming
Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
Run Code Online (Sandbox Code Playgroud)
因此,请将modelPropertyNaming设置为原始值
| 归档时间: |
|
| 查看次数: |
7837 次 |
| 最近记录: |