我正在尝试使用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等)中是否可能
谢谢
1条答案
按热度按时间dsekswqp1#
这似乎是不可能的,因为所有的codegen工具都将API客户端作为一个单独的类而不是模型类(MVC模式)生成代码。