Spring的Restful

package restful;

public class TestOne {

    /**
     * 1.REST基础知识
     * REST远程过程调用机制,
     * 不同与soap
     * REST :面向资源的
     * SOAP:面向行为和动作
     * 
     * Spring如何支持REST
     * 1)控制器处理所有http方法,四个REST方法 GET POST DELETE  PUT
     * 2)@PathVariable注解,支持参数化的url
     * 3)借助Spring的视图和视图解析器,能够以多种形式表述资源,xml,json,atom等
     * 4)@ResponseBody和HttpMethodConverter能够代替基于视图的渲染方式。
     * 5)借助类RestTemplate 能方便使用REST资源  (get post。。。)
     * 
     * 表述性 representational  各种形式进行表述 xml json html
     * 状态 state  关注的是资源的状态,而不是对资源采取的行动
     * 转移 Transfer  转移资源数据,从一种应用转换到另一个应用
     * 
     * 1.将资源的java 转换为传送给客户端的表述形式
     * 内容协商和消息转换(contentne gotiation   message conversion) 
     * 
     * 内容协商的优势和劣势
     * 优势:
     * 善于处理面向用户和面向客户端重叠较多的情况。
     * 劣势:
     * 只能决定数据怎么渲染到客户端,不能决定客户端发送什么样的表述给控制器使用。?????
     * 
     * 
     * 不推荐使用contentns gotiation
     * 
     * 
     * 
     * 2.
     * 消息转换
     * 更为直接,不需要将模型数据传给视图,没有模型数据,也没有视图;
     * 只有控制器产生的数据,以及消息转换器抓转换后的资源表述。
     * 
     * 通过@RequestBody 注解将对象返回给响应
     * 1)
     * @RequestBody 
     * 
     * 能告诉Spring将数据发送给客户端的时候需要一个消息器。
     * 查找消息器,将来自客户端的资源数据转换为java对象。
     * 2)
     * @RestControl
     * 如果控制器的每个方法都需要消息转换器,可以使用@RestControl代替@Control
     * 
     * 3)
     * produces   consumes  关注请求中的Content-Type,不满足条件将会由其他方法来处理。
     * 
     * 
     * ResponseEntity
     * ResponseStatu
     * 
     * 4 RestTemplate的操作
     * 读取响应的数据
     * 
     * getForobject  和getForEntity
     * getForEntity不仅有响应对象,还有状态和响应头。
     * 
     * 消息转换器将对象转为为表述形式,并将请求发送到服务器端。
     * 
     * 数据处理
     * GET POST PUT DELTE EXCHANGE
     * 
     * EXCHANGE能设置返回给服务器的请求头信息
     * 
     */
    
    public static void main(String[] args) {

        
        
        
    }

}

猜你喜欢

转载自www.cnblogs.com/lxh520/p/9195842.html