स्वैगर 1.5.24 का उपयोग करना, और दस्तावेज़ीकरण, मैंने इस तरह से एक स्वैगर लिखा है:

@Path("/path1")
@Api(value = "Class for some requests", tags = {"Requests of type 1", "path1"})
public class Requests1 {

    @GET
    @Path("/request1")
    @ApiOperation(value = "Request 1 standard retriever", tags = {"standard", "version 1.0"})
    public Response getRequest1(..) { ... }

    @GET
    @Path("/request1/specific")
    @ApiOperation(value = "Request 1 specific retriever", tags = {"specific", "version 1.1"})
    public Response getRequest1specific(..) { ... }

    @POST
    @Path("/request1")
    @ApiOperation(value = "Request 1 standard inserter", tags = {"standard", "version 1.0"})
    public Response insertRequest1(..) { ... }

    @POST
    @Path("/request1/specific")
    @ApiOperation(value = "Request 1 specific inserter", tags = {"specific", "version 1.0"})
    public Response insertRequest1specific(..) { ... }

}

मैं जो प्राप्त करना चाहता हूं वह टैग प्रकार 1 के अनुरोध और पथ1 वर्ग के सभी तरीकों के तहत सूचीबद्ध करना है, और टैग मानक के अंतर्गत सूचीबद्ध करना है। मजबूत>, संस्करण 1.0, विशिष्ट या संस्करण 1.1 केवल निर्दिष्ट टोज़ टैग वाली विधियां।

उदाहरण:

प्रकार 1 का अनुरोध

  • 1 मानक पुनर्प्राप्ति का अनुरोध करें
  • 1 विशिष्ट पुनर्प्राप्ति का अनुरोध करें
  • 1 मानक डालने का अनुरोध करें
  • 1 विशिष्ट प्रविष्टि का अनुरोध करें
  • ...

संस्करण 1.1

  • 1 विशिष्ट पुनर्प्राप्ति का अनुरोध करें
  • 2 मानक डालने का अनुरोध करें
  • अनुरोध 5 ...

... और इसी तरह।

समस्या यह है कि यह उन तरीकों के लिए टैग सेट करता है जो कक्षा के टैग को ओवरराइड करता है, जिसके परिणामस्वरूप प्रकार 1 का अनुरोध और path1 के लिए एक खाली सूची होती है।

मैंने @ApiOperation विशेषता के अंदर @Tag विशेषता का उपयोग करने का प्रयास किया है, लेकिन यह निम्न त्रुटि दिखाता है:

एनोटेशन विशेषता के लिए मान ApiOperation.tags एक स्थिर अभिव्यक्ति होना चाहिए

0
P. Vucinic 26 फरवरी 2020, 17:10

1 उत्तर

मैं हर तरीके के लिए कक्षा के टैग सेट करने में इस समस्या से "बच" सकता हूं, लेकिन ऐसा करने से यह विशिष्ट टैग की पठनीयता को कम कर देगा।

उदाहरण:

@Path("/path1")
@Api(value = "Class for some requests")
public class Requests1 {

    @GET
    @Path("/request1")
    @ApiOperation(value = "Request 1 standard retriever", tags = {"Requests of type 1", "path1", "standard", "version 1.0"})
    public Response getRequest1(..) { ... }
0
P. Vucinic 26 फरवरी 2020, 17:10