春季休息请求方法'GET'不支持
问题描述:
我想实现一个休息Api,代码似乎正确和简单,但我得到这个错误,我不知道这个问题。 春季休息请求方法'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");
}
}
答
这很简单。 @RestController
的值不是它的映射。这是我犯了很多错误。 如果您想要控制器中所有方法的顶级映射,请在控制器类的顶部使用@RequestMapping
进行声明。
@RestController
@RequestMapping("/report")
public class JasperController {
下面是对@RestController
和@Controller
的value
是:
值可以指示逻辑组件名称的建议,以 变成一个Spring bean在自动检测组件的情况下, 。
您允许的出处是“http:// localhost:4200”,并且您从“http:// localhost:8080”调用浏览器。端口不匹配,所以你的来源是不允许的 – Leffchik
我删除了它,同样的错误仍然在增加,我不认为问题是允许的来源。 –
奇怪.. R确定您的控制器包是实际被Spring扫描的吗? – Leffchik