2017-12-30 262 views
7

Swagger belgelerim hakkında daha fazla bilgi eklemeye çalıştım, ancak belirli bir şekilde @ApiPropertyModel ek açıklamasında bazı sorunlar yaşıyorum.Kongchen Swagger, @ApiModelProperty ek bilgisini göz ardı ediyor

Ne yapmaya çalıştığım önemli değil, işe yaramıyor. Eklenti, Swagger.json doğru şekilde üretiyor, tüm @ApiOperation ek açıklamaları REST kaynakları için çalışıyor, ancak model parçası için, yalnızca model sınıflarının özelliklerini gözden geçiriyor ve üstlerindeki ek açıklamalara bakmıyor. Ben mesela varsa

<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; 

O test özelliğini oluşturur ancak herhangi bir örnek ya da başka bir özellik oluşturmaz İşte

eklenti yapılandırıldığı nasıl Bu açıklamada kurduğum. Bir alıcıda kullanırken aynı şey oluyor, bu yüzden sorun değil.

Yanlış bir şey yapıyorum? Ayrıca, Kongchen'in örnek projesine baktım ve işe yaraması için özel bir şey göremedim.

+0

POM'de yapılandırılan paketlerin ve yolların hepsinin doğru olup olmadığını bilmek yardımcı olacaktır. Eğer model calss paket ifadesini yapıştırırsanız, bu yardımcı olacaktır. Ayrıca, tüm Java sınıflarını sınıf düzeyinde kullanılan tüm ek açıklamalarla birlikte yapıştırabilir misiniz? – tkruse

+0

İlgili: https://stackoverflow.com/questions/32900551/swagger-apimodelproperty-not-working – tkruse

+0

Bunu ilgili olarak eklediğiniz için teşekkür ederiz, ama bunun içinde de bir cevap olmaması üzücü. :/ –

cevap

0

Belki Model sınıflarınızdaki @ApiModel ek açıklamasını unuttun mu?

gibi:

@ApiModel 
public class PostRequest { 

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

} 

veya modelin paket pom.xml'Bu verdi eşleşmiyor.

+0

Hayır, dediğim gibi, model sınıfları doğru bir şekilde gözlenmedi, alanlar swagger.json dosyasında beklendiği gibi görünüyor Ama bu özel açıklama sadece çalışmıyor. :/ –

+0

Alanlar, @ApiModel ek açıklaması olmadan bile görünür, bu yüzden kanıt değil. – tkruse

1

Kodu tekrar karıştırmaya çalışıyordum ve sorunun projenin yapısında olduğunu gördüm. Farklı modülleri vardır ve genel geliştirme için bir profil ve sadece RESTful API belgelerine yönelik bir profile sahiptir.

Bir süreliğine dikkatimi dağıttım ve projeleri mvn clean package kullanarak oluşturmaya başladım ve projenin bir sürümü yüklendiğinden, belgeyi oluşturmak için kullanıyordu ve bu yüzden kullanmadan sonra hiçbir zaman değişmedi. Ana kaynak kodunda mvn clean install ek açıklama görebiliyordum herhangi bir etki yarattı.

Üzgünüm çocuklar, kullandığım tüm yapıyla ilgili bir şey olduğu için, dokümantasyon projesi hakkında verebileceğim bilgilerin ötesinde bir şeydi. Ama en azından bu cevabı tutacağım, böylece bir sonraki kişi bunun hakkında haberdar olabilir.

İlginiz için teşekkür ederiz!