RESTful API理解及应用示例

1 什么是RESTful

REST,即Representational State Transfer的缩写。就是用URL定位资源,用HTTP描述操作,准确的说应该是通过HTTP的四个动词(GET,POST,DELETE,PUT)来描述操作。我的理解是前后端的一种约定,而不是定义标准,REST也是要基于http、uri、xml和html这些广泛使用的协议和标准。

2 应用示例

直接上代码,更直观

@RestController
@RequestMapping("/productApi")
public class ProductController {

    /**
     * 保存商品信息
     *
     * 对应url http://localhost:8080/productApi/product
     */
    @PostMapping(value = "/product", produces = {"application/json;charset=UTF-8"})
    public String saveProduct(){
        return "保存成功!";
    }

    /**
     * 根据id删除商品
     *
     * 对应url http://localhost:8080/productApi/product/123
     */
    @DeleteMapping(value = "/product/{id}",produces = {"application/json;charset=UTF-8"})
    public String deleteProduct(String id){
        return "删除成功!";
    }

    /**
     * 根据id修改商品信息
     *
     * 对应url http://localhost:8080/productApi/product/123
     */
    @PutMapping(value = "/product/{id}", produces = {"application/json;charset=UTF-8"})
    public String updateProduct(String id){
        return "修改成功!";
    }

    /**
     * 根据名称和产地查询商品信息
     *
     * 对应url http://localhost:8080/productApi/product/123/beijing
     */
    @GetMapping(value = "/product/{name}/{address}", produces = {"application/json;charset=UTF-8"})
    public String selectProduct(String name, String address){
        return "查询成功!";
    }
}

需要说明的是前端写代码时ajax里面的type也要修改为GET,POST,DELETE,PUT中的一个,前后台保持一致

3 RESTful风格的优势

  • 行为和资源分离,更容易理解
  • 可以利用缓存Cache来提高响应速度
  • 提高服务器的扩展性
  • 减少了客户端和服务端的耦合
  • 在软件技术演进中的长期的兼容性更好

4 RESTful风格的缺点

  • 对与开发人员要求比较高,需要从复杂业务中抽离出来简单的crud操作
  • 同样对于复杂业务,需要写的接口增加了,增加了请求的次数
  • 不利于异步情况下事务的实现
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值