如何配置 Springfox Swagger 命令属性?
Configure how Springfox Swagger orders properties?
在我的 Spring 引导休息 api 中,我有以下 class:
@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。按字母顺序排列。我从来没有打开过字母排序,所以不确定为什么要这样做……有什么办法可以关闭它吗?它对我所有按常识/逻辑顺序排列的 classes 都这样做...
您可以使用 ApiModelProperty#position 定义属性的显示顺序。
示例:
class MyClass {
@ApiModelProperty(position = 0)
String myFirstProperty;
@ApiModelProperty(position = 1)
String mySecondProperty;
}
这不是最方便的方法,但我找不到任何其他方法来实现这个...
在我的 Spring 引导休息 api 中,我有以下 class:
@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。按字母顺序排列。我从来没有打开过字母排序,所以不确定为什么要这样做……有什么办法可以关闭它吗?它对我所有按常识/逻辑顺序排列的 classes 都这样做...
您可以使用 ApiModelProperty#position 定义属性的显示顺序。
示例:
class MyClass {
@ApiModelProperty(position = 0)
String myFirstProperty;
@ApiModelProperty(position = 1)
String mySecondProperty;
}
这不是最方便的方法,但我找不到任何其他方法来实现这个...