01 RESTful

1.RESTful是什么

    REST(【Resource】Representational State Transfer):表现层状态转化

    REST指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful

           资源是一个信息实体,用唯一的url代表该资源

        表现层是指信息的呈现形式,我们在请求头中对其进行描述

         表现层状态转换是指改变(服务器端)资源的状态

2. 统一编程接口:分为公用接口和私用接口

3.RESTful设计

    资源设计:网址使用名词,且名词与数据库中的表对应,名词使用负数

    动作设计:get/post/put/delete

    返回结果:accept:application/json /content-type:application/json

4.@RequestMapping

        @RestController相当于@Controller所有的方法自动添加上@ResponseBody;

        @PathVariable    将前端传来的占位符参数{id}传入指定参数中

        @GetMaping    @PostMaping    @PutMapping    @DeleteMapping    限制只有某类方法可以访问

        使用对象封装参数:   在参数很多的时候,可以使用对象封装参数,只要做到占位符中的参数名和对象中的属性名相同,  可以将占位符中的参数设置进对象,这样就可以避免过多设置参数路径.

5.@RequestBody

        要求前端传过来的数据必须是符合指定的格式

        前端可能存在多个环境,如ios,andriod,微信小程序等,必须指定他们穿过来的数据格式

6.headers consumer produce 

      headers 请求的时候判断头信息是否符合条件

     consumer 代表消费,和前台传入的数据相关

      相当于配置了 headers="headers="content-type=application/json"

     produce 代表生产,和前台传过来的accept有关

7.ajax和form表单

    springmvc框架默认不支持put请求,必须在web.xml文件中配置,这样才可以在前端界面发送put请求.

8.传统开发方式和前后端开发模式的对比

    前后端开发模式实现了解耦,

    后端只要向前端提供api接口,后端和前端开发可以同时进行.



自己的总结:

    RESTful是一种开发方式

    必须符合它特定的规则

            比如资源路径设计,请求动作设计,请求参数设计,返回结果设计

            使用 @PathVariable    将前端传来的占位符参数{id}传入指定参数中

            使用对象封装参数:   在参数很多的时候,可以使用对象封装参数,只要做到占位符中的参数名和对象中的属性名相同,  可以将占位符中的参数设置进对象,这样就可以避免过多设置参数路径.

    

    


    

你可能感兴趣的:(01 RESTful)