Contributions
Ignoring swagger endpoints which are not in Golang router
I am using swagger to generate documentation of REST APIs in Golang. I have multiple micro-services in my project. Some of the APIs are common to all the services so I have kept them common. So my Golang code looks like this: ``` import othercontroller "github.com/controllerv2" func Controller() { ... // version V1 gpd router.HandleFunc(utils.BasePath+"/entity", c.handleCreate).Methods(http.MethodPost) router.HandleFunc(utils.BasePath+"/entity/{id}", c.handleDelete).Methods(http.MethodDelete) othercontroller.AttachStatRoutes(utils.BasePath, router) router.Serve() } ``` APIs in "othercontroller" looks something like this: ``` func AttachStatRoutes(basepath string, router Router) { router.HandleFunc(basepath+"/stats", getStatsHandler).Methods("GET") } func AttachHealthRoutes(basepath string, router Router) { router.HandleFunc(basepath+"/health", getHealthHandler).Methods("GET") } ``` Swagger definition for getStatsHandler API looks like this ``` // swagger:operation GET /stats Stat // // // --- // produces: // - application/json // parameters: // - name: ID // in: query // description: stats ID // required: false // type: string // responses: // '200': // description: Stats response // schema: // "$ref": "#/definitions/StatsResponse" // '400': // description: Bad Request // '403': // description: Forbidden, you are not authorized // '500': // description: Error occurred while processing the request func getStatsHandler(w http.ResponseWriter, r *http.Request) { // some logic here } ``` "getHealthHandler" API of AttachHealthRoutes() function is also in the same package and has similar swagger UI definition. Now when I generate the swagger, I am also getting swagger UI for APIs which are in AttachHealthRoutes() function but I am not attaching it to the router. So what I need is, swagger should only show me UI for APIs which are attached to routers. What I am assuming is, I am getting the swagger for API of AttachHealthRoutes() becasue getHealthHandler is in the same package as that of getStatHandler. Note that I can not keep them in different packages. Can anyone tell me how can I get rid of getHealthHandler API from swagger UI? Just for reference, the question is also posted on this forum:https://stackoverflow.com/posts/69221236433Views0likes0Comments