Skip to content
Advertisement

Swagger Codegen basePath is being ignored

I’m trying to generate some web services definitions using Swagger Codegen » 2.2.1

All configs are working and the classes are generate correctly by my .yaml definitions.

Why the property basePath is being ignored?


My @RestController generate using only paths definition:

https://springboot-base-save-return.appdes.xnet/saveBackendReturn

Expected (using basePath and paths definitions):

https://springboot-base-save-return.appdes.xnet/v1/saveBackendReturn

What am I doing wrong? Did I forget something?


My .yaml contract:

swagger: '2.0'
info:
  description: My Project
  version: 1.0.0
  title: Save Backend Return
host: springboot-base-save-return.appdes.xnet
basePath: /v1
tags:
  - name: saveBackendReturn
    description: Save Backend Return
schemes:
  - https
paths:
  /saveBackendReturn:
    post:
      tags:
        - saveBackendReturn
      summary: Save Backend Return
      description: My Project
      operationId: saveBackendReturn
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: body
          name: body
          description: My Project
          required: true
          schema:
            $ref: '#/definitions/saveBackendReturnRequest'
      responses:
        '200':
          description: Ok
          schema:
            $ref: '#/definitions/saveBackendReturnResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
      security:
        - basicAuth: []

Advertisement

Answer

Searching more about this, I found the issue.

It’s a bug fixed by HugoMario (commit referenced on 2 Dec 2019)

And following Helen suggestion, I update my Swagger Codegen:

  • From » 2.2.1 » old release (Aug 07, 2016)

  • To » 2.4.12 » current stable release (Jan 15, 2020)

Summary: » It’s a bug of an outdated version » Now works fine!


Maven dependecy for swagger-codegen-maven-plugin:

<dependency>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-codegen-maven-plugin</artifactId>
    <version>2.4.12</version>
</dependency>

Maven Central Repository (check new releases):


Update Maven Project (Eclipse shortcut F5) and make a clean build:

mvn clean verify 
mvn install

Reference:

User contributions licensed under: CC BY-SA
7 People found this is helpful
Advertisement