2017-12-30 11 views
7

내 Swagger 문서에 대한 정보를 추가하려고 시도했지만 구체적인 @ApiPropertyModel 특수 효과에 문제가 있습니다.Kongchen Swagger가 @ApiModelProperty 특수 효과를 무시합니다.

내가 무엇을하려고해도 상관 없습니다. 단지 작동하지 않습니다. 플러그인이 Swagger.json을 정확하게 생성하고 있습니다. 모든 @ApiOperation 주석은 REST 리소스에 대해 작동하지만 모델 파트의 경우 모델 클래스의 속성 만 인트로 테스트하고 그 위의 주석은 보지 않습니다. 내가 예를 들어이있는 경우

<plugin> 
    <groupId>com.github.kongchen</groupId> 
    <artifactId>swagger-maven-plugin</artifactId> 
    <version>3.1.5</version> 

    <configuration> 
     <apiSources> 
      <apiSource> 
       <locations> 
        <location>com.example.rest.resources</location> 
        <location>com.example.rest.model</location> 
       </locations> 
       <swaggerDirectory>${project.build.directory}/generated-sources</swaggerDirectory> 
       <basePath>/path/to/the/api</basePath> 
       <info> 
        <title>My RESTful API Documentation</title> 
        <version>${project.version}</version> 
       </info> 
      </apiSource> 
     </apiSources> 
    </configuration> 

    <executions> 
     <execution> 
      <phase>generate-sources</phase> 
      <goals> 
       <goal>generate</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

는 :

@ApiModelProperty(example = "test example") 
public String test; 

IT는 test 속성을 생성하지만, 어떤 예 또는 다른 속성을 만들 수 없습니다 여기

는 플러그인을 구성하는 방법입니다 나는 그 주석에 설정했다. getter에서 사용할 때도 마찬가지입니다. 문제가 아닌 것 같습니다.

뭐가 잘못 되었나요? 또한 Kongchen의 예제 프로젝트를 살펴 보았는데 특별한 효과가 나타나지 않았습니다.

+0

POM에 구성된 패키지와 경로가 모두 올바른지 확인하는 데 도움이됩니다. 모델 calss의 패키지 문을 붙여 넣으면 도움이됩니다. 또한 클래스 수준에서 사용되는 모든 주석을 사용하여 전체 Java 모델 클래스를 붙여 넣을 수 있습니까? – tkruse

+0

관련 : https://stackoverflow.com/questions/32900551/swagger-apimodelproperty-not-working – tkruse

+0

관련 내용을 추가해 주셔서 감사합니다.하지만 슬픈 점은 그에 대한 답변도 없습니다. :/ –

답변

0

아마도 모델 클래스에 @ApiModel 주석을 잊어 버리셨습니까?

처럼 :

@ApiModel 
public class PostRequest { 

    @ApiModelProperty(example = "test example") 
    public String test; 

} 

또는 모델 패키지는 pom.xml 파일에 주어진 무슨 일치하지 않습니다.

+0

을 참조하십시오. 아니요, 제가 말했던 것처럼 모델 클래스도 올바르게 내관됩니다. 필드는 swagger.json 파일에 예상대로 나타납니다. 그 특정 주석은 작동하지 않습니다. :/ –

+0

필자가 생각하는 @ApiModel 주석이 없어도 필드가 나타납니다. – tkruse

1

코드를 다시 엉망으로 만들려고했는데 문제가 프로젝트 구조에 있다는 것을 알았습니다. 그것은 다른 모듈을 가지고 있으며 일반적인 개발을위한 프로파일과 RESTful API 문서만을위한 프로파일을 가지고있다.

나는 산만 해졌으며 mvn clean package을 사용하여 프로젝트를 빌드하기 시작했습니다. 프로젝트 버전이 설치되어 있기 때문에 문서를 만들 때이 파일을 사용하고 있었기 때문에 변경 한 적이 없었습니다. 메인 소스 코드에서 mvn clean install을 보면 주석이 어떤 영향을 주는지 확인할 수있었습니다.

내가 사용하고있는 전체 구조에 관한 내용 이었기 때문에 미안하지만 문서 프로젝트에 관해 제공 할 수있는 정보를 뛰어 넘었습니다. 적어도 다음 사람이이 사실을 알고있을 수 있도록이 답변을 계속하겠습니다.

감사합니다.

관련 문제