为什么要用Rest风格,如果不用Rest的话,接口应该怎么定义,在使用Rest风格之前,大家都是用什么方式写接口的?

java分享会

分享人:龚剑飞

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

先介绍下背景

REST是什么?

Resource REpresentational State Transfer

Resource:资源,即数据(前面说过网络的核心)。比如 newsfeed,friends等;

Representational:某种表现形式,比如用JSON,XML,JPEG等;

State Transfer:状态变化。通过HTTP动词实现。

2.知识剖析

RESTful API 的特点

RESTful API中,URL中只使用名词来指定资源,原则上不使用动词。“资源”是REST架构或者说整个网络处理的核心。比如:http://api.qc.com/v1/newsfeed: 获取某人的信息;

http://api.qc.com/v1/friends: 获取某人的好友列表;

http://api.qc.com/v1/profile: 获取某人的详细信息

那么动词怎么办呢?毕竟光对着资源名字,我们并不知道到底想要干嘛

GET 用来获取资源,POST 用来新建资源(也可以用于更新资源),

PUT 用来更新资源,

DELETE 用来删除资源。比如:DELETE http://api.qc.com/v1/friends:

删除某人的好友 (在http parameter指定好友id)POST http://api.qc.com/v1/friends:

添加好友PUT http://api.qc.com/v1/profile: 更新个人资料

千万别使用GET /api.com/v1/deletefriend

3.常见问题

使用RESTful的好处是什么?

4.解决方案

看Url就知道要什么

看http method就知道干什么

看http status code就知道结果如何

5.编码实战

6.扩展思考

SOAP:简单对象访问协议,基于XML,是一种应用协议,可以跨多种传输协议来传递消息(比如HTTP、SMTP), Soap是针对RPC的解决方案。其初衷是作为一种轻量级解决方案出现的,采用xml格式定义过程调用和返回,一个Soap消息就是一个特定格式和内容的XML文档。

7.参考文献

覃超的知乎回答

8.更多讨论

鸣谢

感谢观看,如有出错,恳请指正

BY : 龚剑飞