亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

RESTful-------------

標簽:
Java

规范: Restful核心就是保证是名词!!!
再比如,某个URI是/posts/show/1,其中show是动词,这个URI就设计错了,正确的写法应该是/posts/1,然后用GET方法表示show。
1.不用大写;
2.用中杠 - 不用下杠 _ ;
3.参数列表要encode;
4.URI中的名词表示资源集合,使用复数形式。本身有复数形式不用加s
§200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。
§201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。
§202 Accepted - []:表示一个请求已经进入后台排队(异步任务)
§204 NO CONTENT - [DELETE]:用户删除数据成功。
§400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。
§401 Unauthorized - [
]:表示用户没有权限(令牌、用户名、密码错误)。
§403 Forbidden - [] 表示用户得到授权(与401错误相对),但是访问是被禁止的。
§404 NOT FOUND - [
]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。
§406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。
§410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。
§422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。
§500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。
应该将API的版本号放入到URI中
https://api.example.com/v1/zoos
https://api.example.com/1.0/zoos
比较复杂的接口不能确定是使用POST还是PUT时,要看具体的业务层代码,看看接口产生的结果是否幂等,如果幂等用PUT,相反用POST
接口接收到一资源,资源存在更新,不存在插入新数据,这个接口就要用PUT

如果某些动作是HTTP动词表示不了的,你就应该把动作做成一种资源。比如网上汇款,从账户1向账户2汇款500元,错误的URI是:
POST /accounts/1/transfer/500/to/2
正确的写法是把动词transfer改成名词transaction,资源不能是动词,但是可以是一种服务:
POST /transaction HTTP/1.1
  Host: 127.0.0.1
  from=1&to=2&amount=500.0
系统时间:/skill/time/now get

例:post
/skill/excute/{id} 不好的
/skill/{id}/excuteion 动作体现是post

get
/skill/delete/{id}
应该改成 DELETE /skill/{id}/delete
get:查询操作 不是添加 修改 删除 就全部get
post:添加修改操作
put:修改操作 没有严格区分
delete:删除
/模块/资源/标识/集合1/集合2/..... 集合是名词 标识是可以省略的 其它规则不变
/user/{id}/friends 某用户的好友列表
使用/来表示资源的层级关系
例如上述/git/git/commit/e3af72cdafab5993d18fae056f87e1d675913d08就表示了一个多级的资源, 指的是git用户的git项目的某次提交记录,又例如/orders/2012/10可以用来表示2012年10月的订单记录。
使用_或-来让URI可读性更好
  曾经Web上的URI都是冰冷的数字或者无意义的字符串,但现在越来越多的网站使用_或-来分隔一些单词,让URI看上去更为人性化。 例如国内比较出名的开源中国社区,它上面的新闻地址就采用这种风格, 如http://www.oschina.net/news/38119/oschina-translate-reward-plan。

/git/git/pulls用来表示git项目的所有推入请求,而/pulls?state=closed用来表示git项目中已经关闭的推入请求, 这种URL通常对应的是一些特定条件的查询结果或算法运算结果。

點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消