@RestController注解总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Megustas_JJC/article/details/82110634

消息转换提供了一种更为直接的方式,它能够将控制器产生的数据转换为服务于客户端的表述形式,当使用消息转换功能时,DispatcherServlet不再需要那么麻烦地将模型数据传到视图中。实际上,这里根本没有模型,没有视图,只有控制器产生的数据,以及消息转换器转换数据之后所产生的资源表述。

在响应体中返回资源状态

    @RequestMapping(method = RequestMethod.GET,produces="application/json")
    public @ResponseBody List<<Spittle>> spittles(
        @RequestParam(value="max",defaultValue="20") int count){
        return spittleRespository(count);
    }

@ResponseBody注解会告知Spring,我们将要返回的对象作为资源发送给客户端,并将其转换为客户端可接受的表述形式。更具体的讲,DispatcherServlet将会考虑到请求中Accept头部信息,并查找能够为客户端提供所需表述形式的消息转换器(Java对象->客户端资源表述)。(参见《Spring实战》P437)

当处理请求时,@ResponseBody与@RequestBody是启用消息转换的一种简洁强大方式,但是,编写的控制器有多个方法,并且每个方法都需要信息转换功能的话,那么这些注解就会带来一定程度的重复性。

Spring4.0引入了@RestController注解。使用@RestController注解代替@Controller的话,Spring将会为该控制器的所有处理方法应用消息转换功能。不必为每个方法都添加@RequestBody了。

猜你喜欢

转载自blog.csdn.net/Megustas_JJC/article/details/82110634
今日推荐