Swagger Codegen basePath is being ignored
Asked Answered
C

1

7

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: []
Clockwork answered 26/1, 2020 at 12:2 Comment(3)
2.2.1 is a very old version, please try 2.4.12.Jimmy
@Jimmy Thanks for your comment, it was assertive to resolve the problem.Lorola
I don't think the issue has been fixed when using the html "codegen". The generated docs still don't mention the basePath. I'm on v3.0.20Nipa
C
10

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:

Clockwork answered 27/1, 2020 at 1:7 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.