Skip to content

Swagger generates broken code in $GOPATH #2982

@ghost

Description

Problem statement

Swagger generates broken code in Validate() method: Cannot use 'res' (type []error) as the type []interface{}

Swagger specification

swagger: "2.0"
info:
  title: test-service
  version: 1.0.0

host: localhost:8080
basePath: /v1

paths:
  /auth:
    post:
      operationId: SignIn
      parameters:
        - name: emailPassword
          in: body
          required: true
          schema:
            $ref: "#/definitions/emailPassword"
      responses:
        201:
          description: "tokens"
        default:
          description: "errors"
          
definitions:
  emailPassword:
    type: object
    properties:
      email:
        type: string
        format: email
      password:
        type: string

Broken code

func (m *EmailPassword) Validate(formats strfmt.Registry) error {
 var res []error

 if err := m.validateEmail(formats); err != nil {
  res = append(res, err)
 }

 if len(res) > 0 {
  return errors.CompositeValidationError(res...)
 }
 return nil
}

Steps to reproduce

pwd: $GOPATH/src
command: swagger generate server -A test-service -f swagger.yaml --exclude-main

Environment

swagger version: 0.30.5 (latest)
go version: 1.21.2 darwin/arm64
OS: Mac OS Ventura

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions