REST与RPC

REST与RPC

什么是REST

REST是一种设计风格,它是面向资源的,资源即网络上所有可以访问的东西。而资源是可以通过URI(统一标识符)找到并进行暴露的。
URI就像是一个资源的身份证,是唯一标识的。如果要操作这个资源,直接将这个资源暴露出来即可。至于对资源执行什么操作是通过HTTP的动词来体现的。所以在使用REST风格访问资源时不会出现动词。

例如使用传统的方式查询一个用户User:
/rest/api/getUser?id=100

而使用REST风格查询一个用户:
GET /rest/api/user/100

什么是RPC

RPC是远程过程调用,它让我们在调用远程服务时就像是调用本地方法一样,通信协议大多采用二进制。

REST与RPC的区别

  1. REST使用HTTP通信,RPC一般使用TCP通信
  2. RPC在性能上REST要高很多,但是不能跨语言
  3. REST的灵活性更好,可以在不同语言之间进行调用

REST就像是说普通话,在全国都可以进行沟通。而RPC就像是一个团队里的专业术语,在团队内沟通更加高效,但是其他人不一定听得懂。
所以多系统之间内部可以采用RPC。而对外提供服务采用REST。

使用SpringMVC实现RESTful风格

在SpringMVC中可以使用**@RequestMapping注解的method字段来指定动作。
也可以直接使用
@GetMapping**、@PostMapping@PostMapping@DeleteMapping来指定。
在绑定参数时使用**@PathVariable**注解来指定
例如:

    @RequestMapping(value = "/user/{id}",method = {RequestMethod.GET})
    public User getUserById(@PathVariable("id") Integer userId){
        return userList.get(userId-1);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值