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

问题描述 投票:0回答:2

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

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

我正在尝试创建一个调用此方法的测试应用程序,但Spring在启动期间抛出自动装配错误,并出现以下错误:

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

Spring和Feign版本在两个应用程序中都是相同的(带有此端点的Web服务和测试应用程序)。

有关如何修复它的任何想法吗?

谢谢!

spring autowired spring-cloud-feign
2个回答
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);
    }

}

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.