Skip to content

Go Swagger Annotation Considered deadcode #1304

Closed
@shanedetsch

Description

@shanedetsch

The golangci-lint deadcode lint incorrectly considers swagger annotation as dead code.

The golangci-lint version

# golangci-lint --version
golangci-lint has version 1.30.0 built from 45b90f6 on 2020-08-03T03:10:34Z

The golangcli-lint validation failure

  {
    "description": "deadcode: `appSwaggerParameterDefinition` is unused",
    "fingerprint": "A4AB72*********E99AEAA3D",
    "location": {
      "path": "app/server.go",
      "lines": {
        "begin": 110
      }
    }
  },

However this is not dead code as it is a type of swagger annotation.

// DEFINED HERE
// Swagger parameters for the post endpoint
// swagger:parameters SwaggerParameterDefinition
type appSwaggerParameterDefinition struct {
	// The POST body for creating an Item
	// in: body
	// required: true
	Body service.RequestItemForPost
	// The integration type
	// in: path
	// required: true
	// example: {genericType}
	itemType string `json: "itemType"`
}

// USED HERE
// Swagger Docs for the post sql server endpoint where SwaggerParameterDefinition is a link to the Swagger parameters for this endpoint
// swagger:route POST /{itemType}/endpoint SwaggerParameterDefinition
// Returns created Item
// Schemes: http
// Responses:
//  200: okResponse
//  500: errorResponse
// handlePostItem creates an Item
func (s *IntegrationService) handlePostItem(c echo.Context) error {

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions