REST API设计中的常见错误
设计和开发REST API是一件棘手的事情。
例子/资源:
示例: GitHub API, DigitalOcean API
API框架: Swagger, Postman
调试REST API: SoapUI, fiddler,curl
HTTP响应状态码
用Python和Flask设计一个RESTful API
常见错误
在GET请求中,将参数添加到正文中,而不是在URL中。
使用冗长的名字,而我们有更好的选择
project_id - > id
project_name - >名称
err_msg - >消息
定义我们自己的错误代码和错误消息。尝试首先重用HTTP协议。
curl -i https://api.github.com -u foo:bar
HTTP / 1.1 401未经授权
{
“消息”:“错误凭据”,
“documentation_url”:“https://developer.github.com/v3”
}
curl -i https://api.github.com -u valid_username:valid_password
HTTP / 1.1 403禁止
{
“消息”:“超过最大登录尝试次数,请稍后再试。” ,
“documentation_url”:“https://developer.github.com/v3”
}
更好地使用短划线( - ),而不是下划线(“_”)
从:
http://api.dennyzhang.com/books/my_first_post
至:
http://api.dennyzhang.com/books/my-first-post
URL中缺少API协议版本。当我们发生API变更时,这将很难管理。
从:
> GET /项目
至:
> GET / v1 /项目
没有认证来保护我们的系统免受恶意请求。