Spring自动装配错误:java.lang.IllegalStateException:方法[名称]只能包含1个方法字段。找到:[PUT,POST]

时间:2019-03-04 10:36:00

标签: spring autowired spring-cloud-feign

我的一个Web服务中有一个方法可以接受PUT和POST。这是因为我们开始使用PUT,但后来我们也需要支持POST(对于新服务)。

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

我正在尝试创建一个调用此方法的测试应用程序,但是Spring在启动过程中会引发Autowiring错误,并显示以下错误:

  

java.lang.IllegalStateException:方法[名称]只能包含1   方法字段。找到:[PUT,POST]

Spring和Feign版本在这两个应用程序(具有此端点的webservice和测试应用程序)中都相同。

请问有什么解决办法?

谢谢!

2 个答案:

答案 0 :(得分:0)

方法支持以下各种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);
    }

}

答案 1 :(得分:0)

最后是由于我们使用的Feign版本。在版本10之后已修复。将关闭此主题。谢谢!