Spring Autowiring error: java.lang.IllegalStateException: Метод [имя] может содержать только 1 поле метода.Найдено: [PUT, POST] - PullRequest
0 голосов
/ 04 марта 2019

У меня есть метод в одном из моих веб-сервисов, который принимает PUT и POST.Это потому, что мы начали использовать PUT, но позже нам нужно было также поддерживать POST (для новой службы).

@RequestMapping(
        value = "/endpointURL",
        method = {RequestMethod.PUT, RequestMethod.POST})

Я пытаюсь создать тестовое приложение, которое вызывает этот метод,но Spring выдает ошибку Autowiring во время запуска со следующей ошибкой:

java.lang.IllegalStateException: метод [имя] может содержать только 1 поле метода.Найдено: [PUT, POST]

Обе версии Spring и Feign одинаковы в обоих приложениях (веб-служба с этой конечной точкой и приложение для тестирования).

Любые идеи о том, как это исправить, пожалуйста?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

В конце концов, это было из-за версии Feign, которую мы использовали.Исправлено после 10 версии. Закройте эту тему.Спасибо!

0 голосов
/ 04 марта 2019

Метод поддерживает различные методы HTTP, как показано ниже.Не могли бы вы опубликовать свой исходный код класса.Я думаю, у тебя должна быть другая проблема.Может быть, дублированный путь или еще.

@RequestMapping("/v1/echo")
@RestController
public class EchoApi {

    @RequestMapping(value = "/", method = { RequestMethod.PUT, RequestMethod.POST })
    public ResponseEntity<String> echo(@RequestBody String body){
        System.err.println(body);
        return new ResponseEntity<String>(body, HttpStatus.OK);
    }

}
...