java - Springfox Swagger命令属性如何配置?

标签 java spring swagger swagger-ui springfox

在我的 Spring Boot Rest api 中,我有以下类:

@Entity
@Table(name="Items")
@JsonPropertyOrder({ "itemId", "description", "viewed" })
public class Item {

    @ApiModelProperty(notes="Id of the item.", required=true, value="100000")
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @JsonProperty(access=Access.READ_ONLY)
    private int itemId = 0;
    @ApiModelProperty(notes="Item description.", required=true, value="Item1")
    @NotNull
    @Size(min=1, max=256)
    private String description;
    private int viewed;

    public int getItemId() {
        return this.itemId;
    }

    public String getDescription() {
        return this.description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public int getViewed() {
        return this.viewed;
    }
}

当我执行请求时,JsonPropertyOrder 受到尊重,但是,在 Swagger UI(和 Swagger 文档)中,属性被列为描述、itemId、查看。 IE。按字母顺序排列。我从未打开过按字母顺序排序,所以不确定为什么要这样做......有什么方法可以关闭它吗?它对我所有以常识/逻辑顺序排列的类(class)都这样做......

最佳答案

您可以使用 ApiModelProperty#position 定义属性的显示顺序。 .

示例:

class MyClass {
  @ApiModelProperty(position = 0)
  String myFirstProperty;

  @ApiModelProperty(position = 1)
  String mySecondProperty;
}

这不是最方便的方法,但我找不到任何其他方法来实现这一目标......

关于java - Springfox Swagger命令属性如何配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59147580/

相关文章:

java - 正确的 XPath 但 sendKeys() 在 Selenium 中不起作用

java - 具有弱键和身份哈希的 ConcurrentHashMap?

spring - RestTemplate 已弃用的 DefaultUriTemplateHandler 的替代品是什么?

java - Spring Data REST + JPA 从 OneToMany 集合中删除 [不是所有者端]

javascript - 如何通过 Swagger 或 Ajax 将数据发送到 Presence Insights 连接器 API?

Java 在进程中执行某事

Java:我无法多次运行 JTextArea?

Spring Tomcat permgen 问题

rest - 在 REST API 的 Swagger 定义中实现分页

api - Swagger 代码生成器 - 有经验的人吗?