Как исправить Swagger UI 2.9.2 Метод запроса возврата «GET» Не поддерживается Ошибка - PullRequest
0 голосов
/ 14 апреля 2020

Хронология проблемы:

  1. Я добавил @PostMapping("/someurl/{somePathVar}, @PathVariable в URL
  2. Когда я собрал .jar, проблема не возникла т происходит. Затем я понял, что должен удалить @PathVariable
  3. Я удалил его и пересобрать .jar (clean -> build gradle). Я использую Spring Boot по пути
  4. Проблема возникла. Файл .jar поврежден.
  5. Я могу запустить файл .jar, но проблема возникла при доступе к ..../swagger-ui.html
  6. Возвратилась следующая ошибка
2020-04-14 11:32:14.144 ERROR 26508 --- [nio-8080-exec-3] i.c.l.l.config.ExceptionHandlerAdvice    : uri=/error

org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712) [tomcat-embed-core-9.0.27.jar:9.0.27]
ApplicationDispatcher.java:712
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461) [tomcat-embed-core-9.0.27.jar:9.0.27]
ApplicationDispatcher.java:461
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:384) [tomcat-embed-core-9.0.27.jar:9.0.27]
ApplicationDispatcher.java:384
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) [tomcat-embed-core-9.0.27.jar:9.0.27]
ApplicationDispatcher.java:312
    at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:394) [tomcat-embed-core-9.0.27.jar:9.0.27]
StandardHostValve.java:394
    at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:253) [tomcat-embed-core-9.0.27.jar:9.0.27]
StandardHostValve.java:253
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:175) [tomcat-embed-core-9.0.27.jar:9.0.27]
StandardHostValve.java:175
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.27.jar:9.0.27]
ErrorReportValve.java:92
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [tomcat-embed-core-9.0.27.jar:9.0.27]
StandardEngineValve.java:74
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat-embed-core-9.0.27.jar:9.0.27]
CoyoteAdapter.java:343
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) [tomcat-embed-core-9.0.27.jar:9.0.27]
Http11Processor.java:408
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core-9.0.27.jar:9.0.27]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861) [tomcat-embed-core-9.0.27.jar:9.0.27]
AbstractProtocol.java:861
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1579) [tomcat-embed-core-9.0.27.jar:9.0.27]
NioEndpoint.java:1579
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.27.jar:9.0.27]
SocketProcessorBase.java:49
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_181]
ThreadPoolExecutor.java:1149
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_181]
ThreadPoolExecutor.java:624
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.27.jar:9.0.27]
TaskThread.java:61
    at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181]

У меня два контроллера


@RestController
@RequestMapping("/")
@ApiIgnore
public class IndexController implements ErrorController{
    @PostMapping(value = "/error")
    public ObjectRes<Object> error(){  
        return ObjectRes.failure(ErrCode.NOT_SUPPORTED);
    }

    @Override
    public String getErrorPath(){
        return "/error";
    }
}

и

@RestController
@RequestMapping("/v1/delivery")
@RequiredArgsConstructor
@Api(value = "Food Delivery" , description = "Food Delivery Controller", tags="Food Delivery Controller")
@Validated
public class ShippingVendorController{

    final FoodDeliveryService deliveryService;

    @PostMapping(value = "/food")
    @ApiOperation(value = "Card Shipping Status Update")
    public ObjectRes<DeliveryRes> changeDelivery(@Valid @RequestBody DeliveryReq req, HttpServletRequest hsReq) throws Exception{
        return deliveryService.changeStat(req, myHeader, myAccount);
    }

}

Я искал решение из inte rnet. И обнаружил следующие проблемы .

Было сказано, что проблема в PathVariable, но я удалил его, хотя. Поэтому я понятия не имею, как исправить мои проблемы. Я удаляю и перестраиваю все, но проблема все равно возникла.

добавлено: я все еще могу вызывать URL API из Почтальона или других инструментов. Проблема в чванстве интерфейса, я думаю,

...