Как определить причину появления нежелательного типа в сгенерированной документации по чванству. Как это предотвратить? - PullRequest
0 голосов
/ 02 мая 2018

Для нашего проекта мы используем swagger.version-> 1.5.16 и swagger-maven-plugin (3.1.5) для создания документации swagger для нашего общедоступного REST API (написанного в аннотациях java + swagger)

Проблема в том, что в сгенерированной документации есть перечисленные типы, которые не имеют ничего общего с публичным API - ни один из методов API не использует их в качестве параметров или в качестве возвращаемых типов.

Почему это может произойти и как мы можем предотвратить это? (Есть ли какие-либо журналы отладки при создании документа swagger, чтобы помочь определить причину?)

Заранее спасибо!

Пример:

public class Vehicle {

     public StrangeObject strangeMethod() {
          return null;
     }

     public class StrangeObject<T> {}
}

и велосипед:

import javax.ws.rs.DELETE;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;

@Path("/bikes")
@Api
public class Bike extends Vehicle {
     @DELETE
     @Path("/book")
     @Produces({ "application/json" })
     @ApiOperation(nickname = "bookBike",
                value = "Book a Bike",
                code = 200,
                response = Boolean.class)
     @ApiResponses(
                value = {
                          @ApiResponse(code = 403, message = "Forbidden"),
                          @ApiResponse(code = 404, message = "Not Found")
                })
     public Boolean handleBook(
                @PathParam("id") @ApiParam(value = "The ID of the bike.") String id) {
          return Boolean.TRUE;
     }
}

StrangeObject появляется в документе «Определения», и это то, что я хочу исправить. ПРИМЕЧАНИЕ : Предположим, что у меня нет доступа к автомобилю, он поступил из внешней библиотеки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...