什么是Restful风格?与传统的访问风格有什么不同?

❤ 作者主页:李奕赫揍小邰的博客
❀ 个人介绍:大家好,我是李奕赫!( ̄▽ ̄)~*
记得点赞、收藏、评论⭐️⭐️⭐️
认真学习!!!

文章目录

  • 什么是Restful风格?
  • Restful风格的特点
  • Restful风格与传统资源访问的区别
    • 传统的资源访问
    • Restful风格访问
  • 总结:

 

什么是Restful风格?

  Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

  REST即Representational State Transfer的缩写,可译为"表现层状态转化”。REST最大的几个特点为:资源、统一接口、URI和无状态。

  重点!!!它仅仅是一种风格!!

 

Restful风格的特点

Restful风格中,资源操作都是统一接口的:
GET(SELECT):从服务器取出资源。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供完整资源数据)。
PATCH(UPDATE):在服务器更新资源(客户端提供需要修改的资源数据)。
DELETE(DELETE):从服务器删除资源。

 

Restful风格与传统资源访问的区别

 

传统的资源访问

http://localhot:8080/item/select?id=1 查询 GET
http://localhot:8080/item/insert 新增 POST
http://localhot:8080/item/update 更新 POST
http://localhot:8080/item/delete?id=1 删除 DELETE
 
他们的地址访问都不一样,差异性大一点。

 

Restful风格访问

 不同的方式都用对应的注解:@GetMapping、@PostMapping、@PutMapping、@DeleteMapping相当于简写了代码

@Controller
public class RESTfulController {

    //传统方式:http://localhost:8080/add?a=1&b=1
    @RequestMapping("add")
    public String add(int a, int b , Model model){
        int add1=a+b;
        model.add("msg", "结果为:"+add1);
        return "hello";
    }


//RESTful:http://localhost:8080/add/1/1
    //@RequestMapping(path = "/add/{a}/{b}",method = RequestMethod.GET)
    @GetMapping(path = "/add/{a}/{b}")
    @ResponseBody
    public String add(@PathVariable int a, @PathVariable int b){
        int add1= a+b;
        return "add1结果为:"+add1;
    }

访问的地址为:http://localhot:8080/add/1/1
使用@PathVariable将URL请求路径参数映射到方法参数中。
RestFul风格就是请求路径相同,但根据不同的参数、请求方式不同而执行不同的方法,产生的结果也不同。
 


总结:

Restful风格优点:

1、使请求路径变得更加简洁
2、传递、获取参数值更加方便,框架会自动进行类型转换
3、通过路径变量@PathVariable的类型,可以约束访问参数。
4、若参数值与定义类型不匹配,则访问不到对应的方法,报错400错误的请求。
安全,请求路径中直接传递参数值,并用斜线/分隔,不会暴露传递给方法的参数变量名。
5、高效,更易于缓存的实现,让响应更加高效。

你可能感兴趣的:(restful,java,后端)