春季休息请求方法'GET'不支持

问题描述:

我想实现一个休息Api,代码似乎正确和简单,但我得到这个错误,我不知道这个问题。 enter image description here春季休息请求方法'GET'不支持

Log正在输出以下内容。

2017年10月10日14:49:40.946 WARN 5750 --- [NIO-8080-EXEC-4] osweb.servlet.PageNotFound:请求方法 'GET' 不支持

 @RestController("/report") 
    @CrossOrigin(origins = { "http://localhost:4200" }) 
    public class JasperController { 

     @RequestMapping(value = "/allReports", method = { RequestMethod.GET }, produces = "application/json") 
     public String allReport() { 
         return "allReports!!!"; 
        } 

     @RequestMapping(value = "/supportedFields", method = { RequestMethod.GET }, produces = "application/json") 
     public List<String> supportedFields() { 
         return Arrays.asList("name", "age", "address", "code", "contract"); 
     } 

    } 
+0

您允许的出处是“http:// localhost:4200”,并且您从“http:// localhost:8080”调用浏览器。端口不匹配,所以你的来源是不允许的 – Leffchik

+0

我删除了它,同样的错误仍然在增加,我不认为问题是允许的来源。 –

+0

奇怪.. R确定您的控制器包是实际被Spring扫描的吗? – Leffchik

这很简单。 @RestController的值不是它的映射。这是我犯了很多错误。 如果您想要控制器中所有方法的顶级映射,请在控制器类的顶部使用@RequestMapping进行声明。

@RestController 
@RequestMapping("/report") 
public class JasperController { 

下面是对@RestController@Controllervalue是:

值可以指示逻辑组件名称的建议,以 变成一个Spring bean在自动检测组件的情况下, 。