스프링 부트를 사용하여 휴식 서비스를 만들고 설명서 용으로 Swagger (SpringFox를 통해)를 사용 중입니다. 그리고 거의 정상적으로 작동합니다. 이 문제는 모든 쿼리 매개 변수를 요청 개체로 이동하여 메서드 서명에서 암시 적으로 값을 바인딩하고 스프링 유효성 검사기를 암시 적으로 실행 한 경우에 발생합니다.Force Swagger가 요청 객체의 세부 정보를 표시합니다.
public List<Category> getCategory(@Valid CategoryInputRequest inputRequest) throws JsonParseException,
JsonMappingException, IOException
CategoryInputRequest은 일반 콩 구조를 갖는 콩입니다 :
이 내 메소드 서명은 모습입니다 IdNumber, platformId 쿼리 매개 변수와 데이터 검증 및 구속력
@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;
.
.
.
완벽하게 발생합니다. 그러나 Swagger는 메소드 서명에서 "CategoryInputRequest inputRequest"가 requestBody 유형의 매개 변수가되고 쿼리 매개 변수가 아니라고 가정하므로 개별 필드를 사용자에게 노출시키지 않습니다. 대신 JSON 블록을 넣을 큰 텍스트 영역을 제공합니다. @APIModelProperty를 주려고했으나 작동하지 않습니다.
아무도 도와 줄 수 있습니까? 나는 그 문제를 설명 할 수 있었으면 좋겠다. 작동하지만 ModelAttribute.This가 매핑 URL에 아닌 쿼리 paramters에서 수행되고 있음을 나타냅니다 @ 적절한 선언은 keywork을 가져야한다
공개 목록주는 getCategory (@Valid CategoryInputRequest inputRequest) :