我正在使用Spring引導創建休息服務以及我正在使用Swagger(通過SpringFox)的文檔。它幾乎可以正常工作。當我將所有查詢參數移動到一個請求對象並在方法簽名中使用它時隱含地綁定了這些值,並且隱式激發了spring驗證器。強制Swagger公開請求對象的詳細信息
這是我的方法簽名的外觀:
public List<Category> getCategory(@Valid CategoryInputRequest inputRequest) throws JsonParseException,
JsonMappingException, IOException
的CategoryInputRequest是具有純豆結構的豆:
@ApiModel(value = "Input Description")
public class CategoryInputRequest {
@NotNull(message="SE Number is mandatory")
@Size(min=10,max=10,message="SE Number must have 10 characters")
@ApiModelProperty
private String idNumber;
@NotNull(message="Platform ID is mandatory")
@ApiModelProperty
private String platformId;
.
.
.
其中的ID號,platformId是查詢參數和數據驗證和綁定完美無瑕地發生。但Swagger假設方法簽名中的「CategoryInputRequest inputRequest」是一個requestBody類型的參數,而不是查詢pameters,因此不會將單個字段暴露給用戶。而是給一個大的文本區域放置一個JSON塊。我嘗試給@APIModelProperty但它不起作用。
任何人都可以請幫忙嗎?我希望我能夠解釋這個問題。