Swagger UI 不在模型中显示枚举值
Posted
技术标签:
【中文标题】Swagger UI 不在模型中显示枚举值【英文标题】:Swagger UI don't display enum values in models 【发布时间】:2016-09-29 03:48:57 【问题描述】:我在使用 Swagger UI 时遇到了一个小问题,我不确定这是否是一个错误...
我已经使用 Swagger Editor 描述了我的 API,并且我有一个包含枚举参数的方法。
现在,问题是:在生成的 Swagger-UI 文档中,在“模型”选项卡中,我有一个空的“消息类型”对象定义:(我想显示允许的值(BRAND、VISITOR、COMMENT 和回应)
一个代码sn-p重现:
swagger: '2.0'
info:
version: 1.0.0-SNAPSHOT
title: foo
description: foo
host: dev.fr
basePath: /base
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
paths:
/social/message:
post:
operationId: create
responses:
'201':
schema:
$ref: '#/definitions/message'
'default':
description: Default error response
definitions:
message:
required:
- title
- messageType
properties:
title:
type: string
messageType:
$ref: '#/definitions/messageType'
messageType:
enum:
- COMMENT
- RESPONSE
有什么想法吗?我做错了吗?这是一个错误吗? 非常感谢:)
【问题讨论】:
您的messageType
没有声明它是type
。 enum
不是 JSON 模式中的有效类型。考虑将type: string
作为同级添加到枚举中。
你说得对!谢谢:)
【参考方案1】:
fehguy 是对的,通过在我的对象上添加“type: string”解决了问题:)
【讨论】:
以上是关于Swagger UI 不在模型中显示枚举值的主要内容,如果未能解决你的问题,请参考以下文章