控制器或RestController

时间:2018-11-10 17:48:18

标签: spring spring-mvc spring-boot

我是jEE的新手,这是我第一个使用spring的jEE代码。下面的代码工作正常。当我进入本地主机时,他只是打印字符串索引。否则他会打印处理错误。

我的问题是:如果我使用@Controller而不是@RestController,为什么该代码不再起作用

我在Spring的文档中找不到任何简单的解释,我希望有人可以对此进行解释。

我觉得没有像thymeleaf这样的东西(我知道如果我正在使用thymeleaf的话,字符串索引将被ressources文件夹中的索引页替换)就无法单独运行控制器。 xml或json或其他内容。

谢谢

@RestController
public class HelloController implements ErrorController {

    @RequestMapping("/")
    public String index() {
        return "index";
    }

    @RequestMapping("/error")
    public String error() {
        return "gestion erreur";
    }


    @Override
    public String getErrorPath() {
        return "/error";
    }
}

1 个答案:

答案 0 :(得分:0)

mylist = ['Hello', 'what', 'is', 'your', 'name'] mylist = [(mylist[i][1:] + mylist[i][0:1]) for i in range(0,len(mylist))] print(mylist) 的工作是创建模型对象的Map并查找视图,但是['elloH', 'hatw', 'si', 'oury', 'amen'] 只是返回对象,而对象数据则以JSON或XML的形式直接写入HTTP响应中。

@Controller是一个通用注释,用于将类标记为Spring MVC Controller,而@RestController是RESTFul Web服务中使用的特殊控制器,等效于@Controller + { {1}}。

如果您想要不使用@RestController的相同功能,则可以使用@Controller@ResponseBody

@RestController