Swagger игнорирует части отображения - PullRequest
0 голосов
/ 24 января 2020

У меня есть @RestController с @RequestMapping("/v1/loja") и метод, помеченный @GetMapping("/{code}"). Помимо этого, контекстный путь - /loja. Учитывая это, ожидаемое отображение равно /loja/v1/loja/{code}, но пользовательский интерфейс показывает /loja/v1/{code}, что приводит к неверному запросу.

chrome dev tools подтверждает, что пользовательский интерфейс вызывает неверную конечную точку: http://localhost:9103/loja/v1/2

Я использую Spring Fox Swagger с загрузкой Spring, Java 12 OpenJDK

зависимости:

  implementation("io.springfox:springfox-swagger2:${springfoxSwaggerVersion}") {
    exclude module: 'swagger-annotations'
    exclude module: 'swagger-models'
  }
  implementation "io.springfox:springfox-swagger-ui:${springfoxSwaggerVersion}"
  implementation "io.springfox:springfox-spring-webmvc:${springfoxSwaggerVersion}"
  implementation "io.swagger:swagger-annotations:${swaggerVersion}"
  implementation "io.swagger:swagger-models:${swaggerVersion}"
springfoxSwaggerVersion=3.0.0-SNAPSHOT
swaggerVersion=1.5.24

Это ошибка или может быть неправильная / отсутствующая конфигурация или что-то вроде этого?

ОБНОВЛЕНИЕ

Я решил добавить что-то еще к пути на уровне контроллера, и похоже, что сваггер все испортил.

Я изменил отображение запроса на @RequestMapping("/v1/lojaa"), и в результате было /loja/v1a/{code}

ОБНОВЛЕНИЕ 2

@RestController
@RequestMapping("/v1/loja")
@RequiredArgsConstructor
@Api
public class StoreController {

  @GetMapping("/{codigo_loja}")
  @ApiOperation(value = "get store by code", produces = MediaType.APPLICATION_JSON_VALUE)
  @ApiResponses({
    @ApiResponse(code = 404, message = "Store not found"),
    @ApiResponse(code = 200, message = "Store found")
  })
  public ResponseEntity<StoreResponse> getStoreByCode(@PathVariable("codigo_loja") final Integer code) {

    ... some logic ...
  }
}

...