【发布时间】:2021-02-22 03:07:12
【问题描述】:
我使用 openapi generate version 5.0.0 生成了一个 java 客户端,使用除模型包等以外的所有默认值。
我让它在像这样的招摇编辑器中正确渲染。
此组件的特定 yaml 如下所示。
components:
schemas:
WorkItem:
properties:
workitems:
type: array
items:
properties:
json:
type: object
additionalProperties:
type: string
使用客户端的示例代码如下所示。
ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
ApiKeyAuth.setApiKey(result.getToken());
WorkItem workItem = new WorkItem();
Map map = new HashMap();
map.put("test1", "test1");
map.put("test2", "test2");
map.put("test3", "test3");
workItem.addWorkitemsItem(map);
apiInstance.addWorkItem("3", "9", workItem);
然而,当我记录信息时,它显示请求正文中的有效负载看起来像这样。
{"workitems":[{"test2":"test2","test3":"test3","test1":"test1"}]}
而不是上面的招摇展示。我期待它渲染出对象名称。在这种情况下,它是一个通用映射而不是一个“json”命名对象。我在构建 openapi 的方式上是否做错了什么?
如果我尝试在不使用其他属性的情况下使其更具体,在这种情况下,客户端仍然会求助于使用通用对象。
【问题讨论】:
标签: java openapi swagger-codegen