如果我省略@ResponseBody
,在我的服务中,此服务会返回404错误,但服务已成功调用。
在日志中我收到此例外:
.10:00:38.716 [http-nio-8082-exec-10] WARN o.s.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/app/services/myservice/log] in DispatcherServlet with name 'services'
添加@ResponseBody
是否返回导致调用端点不触发404的数据?
以下是我使用AngularJS调用服务的方式:
$http({
method : 'POST',
url : 'services/myservice/log'
}).error(function(data, status) {
alert('Error occurred '+status);
})
答案 0 :(得分:0)
添加@ResponseBody
或将控制器类注释为@RestController
告诉Spring将处理程序方法返回值直接写入 HTTP Response Body 。如果省略,spring会尝试解析一个视图,因为,我猜,你没有为此定义任何合适的 View Resolver ,它将返回 404 Not Found Error < / em>的
答案 1 :(得分:0)
当你从$http
打电话时,它可能会等待json数据返回而没有@ResponseBody
,控制器不会理解它应该将对象发送为 json / xml 格式。这就是为什么春天抱怨没有可以处理这个要求的路径的原因。