如何去判断一个接口是否是restful接口呢?
每一个URI代表一种资源; http://120.0.1/test/zoos//所有动物园Get请求 http://120.0.1/test/cars//所有汽车Get请求客户端通过四个HTTP动词,对服务器端资源进行操作。与之前接口差别最大的就是这个,之前通过方法名去判断这个方法是干什么的,现在是通过请求方式进行区分。
原始接口方式:
https://example.com/api/getAllUsers GET/POST 获取所有用户
https://example.com/api/deleteUser GET/POST 删除用户
https://example.com/api/updateUser GET/POST 更新用户
resuful风格:
https://example.com/api/users GET 获取所有用户信息
https://example.com/api/users/1 GET 获取标识为1用户信息
https://example.com/api/users POST 添加新的用户
https://example.com/api/users/1 DELETE 删除标识为1用户信息
https://example.com/api/users/1 PUT更新标识为1用户部分信息,包含在body中
定义统一返回接口形式 其实这一点之前的接口规范应该也有的,封装一个类所有接口调用返回时都返回这个类,格式在类中定义好。例如:返回成功的响应json格式: {“code”:200,“message”:“success”,“data”:xxx}返回失败的响应json格式: {“code”:401,“message”:“errormessage”,“data”:null}实体类定义的话写一个简单的例子:
public class Response {
private String code;
private String message;
private Object data;
public static Response SUCCESS = new Response ('200', 'success', null);
public static Response SUCCESS(Object data) {
return new Response ('200', 'success', data);
}
public static Response FAIL(String code, String message) {
return FAIL(code, message, null);
}
}
一个类中方法多的时候感觉restful风格的方法命名也有点困难。。
最后附上http请求的状态码含义:
200 | OK | 请求成功 |
400 | Bad Request | 客户端请求的语法错误,服务器无法理解 |
401 | Unauthorized | 请求要求用户的身份认证 |
403 | Forbidden | 服务器理解请求客户端的请求,但是拒绝执行此请求 |
404 | Not Found | 服务器无法根据客户端的请求找到资源(网页 |
500 | Internal Server Error | 服务器内部错误,无法完成请求 |
502 | Bad Gateway | 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求 |
404 | Not Found | 服务器无法根据客户端的请求找到资源(网页 |
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点