Swagger API合并服务和模型类的代码生成

lnvxswe2  于 2023-04-11  发布在  其他
关注(0)|答案(1)|浏览(113)

我正在尝试使用API IDL的代码生成工具,如swagger,grpc等。
这些工具中的大多数都为服务客户端和模型类创建了一个单独的类
例如,如果我有一个Service调用User,方法get返回所有Users,如

"/users":{
            "get": {
                "summary": "get a user",
                "description": "",
                "operationId": "getUsers",
                "responses": {
                    "200": {
                    "description": "successful operation",
                    "schema": {
                        "$ref": "#/definitions/Users"
                    }
                    }
                }
            }
        },
 "definitions": {
        "User": {
            "type": "object",
            "properties": {
                "id": {
                  "type": "integer",
                  "format": "int64"
                },
                "username": {
                  "type": "string"
                },
                "firstName": {
                  "type": "string"
                },
                "lastName": {
                  "type": "string"
                },
                "groupid": {
                    "type": "integer"
                }                
            }
        },

我不想为UserAPIClient和User数据模型创建不同的类,我希望一个类User具有方法getUsers,它将处理API调用并返回结果,就像ORM一样,这在Swagger OpenAPI代码生成工具或任何其他代码生成工具(如grpc,thrift等)中是否可能
谢谢

dsekswqp

dsekswqp1#

这似乎是不可能的,因为所有的codegen工具都将API客户端作为一个单独的类而不是模型类(MVC模式)生成代码。

相关问题