gpt4 book ai didi

java - 当 @ResponseBody 从 Controller 中删除时,收到 404 not found 错误消息

转载 作者:行者123 更新时间:2023-12-02 04:32:13 25 4
gpt4 key购买 nike

我有一个 Spring Boot 应用程序,我正在其中创建一个 Controller @Controller注释,当我尝试使用 url 访问资源时,它向我显示 404, "not found" 。但是一旦我添加注释 @ResponseBody在类级别或方法级别,它给了我想要的输出。我想了解@Responsebody的作用这就是为什么它会影响 url 识别。据我所知@ResponseBody处理响应。

当我有如下代码时 -

@Controller
@RequestMapping(value = "test")

public class TestController {

@RequestMapping(value = "/m1")
public @ResponseBody String testMethod(){
return "Hello First Application";
}
}

它给了我一个精确的输出:Hello First Application

当我删除@ResponseBody时从方法testMethod()它给了我以下输出。

{
"timestamp": "2019-06-13T06:36:14.510+0000",
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/test/m1"
}

我期待一个字符串作为响应。

最佳答案

这取决于您的 View 分辨率。只需验证您为项目指定的默认 View 分辨率即可。

如果没有 ResponseBody,spring 会尝试解析不存在的 View 匹配字符串“hello ...”。

如果使用ResponseBody,则返回被序列化并写入HTTP响应请参阅https://www.baeldung.com/spring-request-response-body

关于java - 当 @ResponseBody 从 Controller 中删除时,收到 404 not found 错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56574890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com