2016-06-28 14 views
7

स्वैगर में @Api एनोटेशन के description को बहिष्कृत किया गया है।एपी एनोटियन का वर्णन

क्या विवरण प्रदान करने का कोई नया तरीका है?

+0

आप किस संस्करण का संदर्भ लेते हैं? – Jens

+0

https://github.com/swagger-api/swagger-core/wiki/Annotations-1.5.X या शायद http://docs.swagger.io/swagger-core/current/apidocs/index.html?io/ swagger/annotations/Api.html –

+0

@Jens मदद कर सकता है मैं 2.4.0 संस्करण (springfox) –

उत्तर

0

कारण यह अस्वीकार कर दिया गया है कि पिछले स्वैगर संस्करण (1.x) ने समूह संचालन के लिए @Api विवरण एनोटेशन का उपयोग किया था।

स्वैगर 2.0 विनिर्देशन में, tags की धारणा बनाई गई और एक अधिक लचीला समूहकरण तंत्र बनाया गया। एपीआई अनुपालन करने के लिए, description फ़ील्ड को बनाए रखा गया था ताकि अपग्रेड आसान हो जाए, लेकिन विवरण जोड़ने का सही तरीका tags विशेषता है, जो @Tag एनोटेशन का संदर्भ लेना चाहिए। @Tag आपको विवरण और बाहरी लिंक इत्यादि प्रदान करने की अनुमति देता है।

0

मुझे अपने स्प्रिंग बूट एप्लिकेशन के लिए एक समाधान मिला। RestController में,

@Configuration 
@EnableSwagger2 
public class SwaggerConfig { 

    @Bean 
    public Docket productApi() { 
     return new Docket(DocumentationType.SWAGGER_2).select() 
       .apis(RequestHandlerSelectors.basePackage("my.package")).build() 
       .apiInfo(apiInfo()) 
       .tags(new Tag("tag1", "Tag 1 description."), 
         new Tag("tag2", "Tag 2 description."), 
         new Tag("tag2", "Tag 3 description.")); 
    } 

    private ApiInfo apiInfo() { 
     return new ApiInfoBuilder().title("My API").version("1.0.0").build(); 
    } 
} 

के बाद सिर्फ एक (या अधिक) आपके टैग के साथ @Api टिप्पणी जोड़ने: सबसे पहले, अपने Docket में टैग परिभाषाएँ निर्दिष्ट के लिए tags विधि का उपयोग करें। उदाहरण के लिए:

@Api(tags = { "tag1" }) 
@RestController 
@RequestMapping("tag1Domain") 
public class Tag1RestController { ... } 
संबंधित मुद्दे