使用spring项目访问后台接口时返回了这个错误。
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Fri Oct 25 17:31:57 CST 2019
There was an unexpected error (type=Not Found, status=404).
No message available
后台是这样
@Controller
@EnableAutoConfiguration
@RequestMapping("/test")
public class TestController {
@RequestMapping("/testMethod")
public JSON testMethod() {
System.out.println("12345");
Map res = new HashMap();
res.put("data", 321);
return JSONObject.fromObject(res);
}
}
通过后台查看发现,请求确实收到了,但是依然报404 。最后发现是没有设置@ResponseBody。
解决方法,方法上面加上注解@ResponseBody,或者将类的注解@Controller改为@RestController。
@RestController = @Controller + @ResponseBody
修改后的代码
@Controller
@EnableAutoConfiguration
@RequestMapping("/test")
public class TestController {
@RequestMapping("/testMethod")
@ResponseBody
public JSON testMethod() {
System.out.println("12345");
Map res = new HashMap();
res.put("data", 321);
return JSONObject.fromObject(res);
}
}
或者
@RestController
@EnableAutoConfiguration
@RequestMapping("/test")
public class TestController {
@RequestMapping("/testMethod")
public JSON testMethod() {
System.out.println("12345");
Map res = new HashMap();
res.put("data", 321);
return JSONObject.fromObject(res);
}
}