Restful api架构的主要设计要素

本文介绍了Restful API架构的本质、优势、与其他架构的区别,以及如何实现符合Restful架构的API。重点阐述了Restful API的六大设计要素,包括资源路径、HTTP动词、过滤信息、状态码、错误处理和返回结果。同时,提到了HTTP协议中的请求方法和常用响应状态码,以及在设计API时的注意事项,如资源路径应使用名词和复数形式。

1、Restful是什么?

本质:是一种软件架构风格

核心:面向资源设置api

2、为什么要使用Restful?

解决问题:降低开发的复杂性;提高系统的可伸缩性

3、Restful与其他架构有什么区别?

soap webserver 是一种跨编程语言,跨操作平台远程调用技术。通过http协议发送请求和接收结果时采用xml格式封装,并增加了一些特定的http消息头,这些特定的http消息头和xml内容格式就是soap协议

这俩个架构的区别在:1、效率2、易用性3、安全性

效率和易用性:

soap案例:由于soap添加的是特定的http消息头,如果业务提供方(微信)不提供文档...没有人会使用它的api

安全性:

Restful适用于效率要求很高,但安全性要求不高的场景

soap的成熟性对于安全性要求较高的接口设计带来便利

4、如何实现符合Restful架构的API?

遵守6大主要设计要素

5、Restful和http的区别?

Restful是一种软件架构风格

http是一种实现方法

6、Restful 的设计6要素


1、资源路径:每个网址代表一种资源,不能有动词只能有名词,名词应该使用复数(用users而不是用user)

2、http动(谓)词:指的是请求方式

3、过滤信息:获取资源列表时分页或查询

4、状态码:

5、错误处理:客户端传的参数不对返回什么状态码

6、返回结果:post返回资源实例,get返回数组



设计概念和准则:

1、网络上的所有事物都可以被抽象为资源

2、每一个资源都有唯一的资源标识,对资源的操作不会改变这些标识

案例:删除资源后,资源的标识依然有效,只不过资源标识所代表的资源不存在


Restful中的http协议:


http的端口是80;https的端口是443

path(路径):标识资源

[?quert-string](参数):筛选资源

[#anchor](錨):錨链接,用于快速定位。可以理解问word文档的几级标题

请求方法:Request-uri是请求资源路径的意思

post【增】:在Request-uri所标识的资源后面附加新的数据

delete【删】:请求服务器删除Request-uri所标识的资源

put【改】:请求服务器存储一个资源,并用Request-uri作为其标识

get【查】:请求获取Request-uri所标识的资源

head:请求获取由Request-uri所标识的资源的响应消息报头

options:请求查询服务器的性能,或者查询与资源相关的选项和需求(获取服务器允许我对资源进行哪些操作,还涉及到访问频率限制的参数)

常用响应状态码:

200、404、500就不写了,干过的都知道傻意思

400 Bad Request: 客户端请求有语法错误,不能被服务器所理解

401 Unauthorized:服务器收到请求,但是拒绝提供服务(资源需要授权访问,而客户端没有授权)

503 Server Unavaiable:服务器当前不能处理客户端的请求(一般是服务器性能达到瓶颈了)


Restful api的设计要素

1、资源路径:每个网址代表一种资源,不能有动词只能有名词,名词应该使用复数(用users而不是用user)


2、http动(谓)词:指的是请求方式




注意:Put更新返回,全部字段。Paech返回一个字段

3、过滤信息:获取资源列表时分页或查询


4、状态码:




5、错误处理:客户端传的参数不对返回什么状态码


6、返回结果:post返回资源实例,get返回数组



注意事项:

1、做登录接口的时候 //只返回用户,unset()将密码删除




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值