
刚上班没多久,经理让我写restful风格的接口文档,希望有朋友给一些建议.
1 babyname 2015-06-03 11:53:15 +08:00 先了解设计原则、规范,然后根据需求写吧。 |
2 learnshare 2015-06-03 11:58:05 +08:00 面向资源 |
3 blue7wings 2015-06-03 12:11:22 +08:00 via iPhone http://www.ruanyifeng.com/blog/2011/09/restful.html 阮一峰的这篇页面就写得挺好,可以参考下~~ |
4 billlee 2015-06-03 12:12:13 +08:00 |
5 Septembers 2015-06-03 12:23:10 +08:00 via Android 设计文档之前先摸清楚业务 |
6 Ouyangan OP 我的情况是:之前是自学的java,时间大概有六个月,接口文档没有写过,所以感觉到有一些无从下手,谢谢楼上的朋友的建议. |
7 invite 2015-06-03 13:01:05 +08:00 需求,需求。 |
8 gevin 2015-06-03 13:03:58 +08:00 我以前想在博客里写一下REST API设计原则的,看到下面这篇就懒得自己折腾了 https://bourgeois.me/rest/ |
9 colincat 2015-06-03 13:07:21 +08:00 |
10 johnnyb 2015-06-03 14:28:26 +08:00 举个例子: ``` http://~/users 用户列表 http://~/users/{id} 用户详情/编辑 http://~/users/new 新用户(news视为{id}的特殊形式) http://~/users/{id}/roles 用户权限列表(二级资源,可以继续套用RESTfull) ``` url 中不应该出现动词,对于同一个 url 例如 http://~/users/{id},通过 method (get/post/patch/put) 来区分是读/写操作 |
11 zonghua 2015-06-03 15:06:45 +08:00 via iPhone @johnnyb 受教了,springMVC直接提供了通过目录获取参数,不知道struts2如何实现? |
12 anyforever 2015-06-03 16:12:45 +08:00 大家API后端一般都是用什么语言开发的? |
13 johnnyb 2015-06-03 16:30:25 +08:00 @zonghua 使用 Struts 2 开发 RESTful 服务 https://www.ibm.com/developerworks/cn/java/j-lo-struts2rest/ |
14 sing1ee 2015-06-03 16:54:56 +08:00 面向资源在实践中,只能说看上去很简单,看上去很美。但,现实很残酷,很现实。业务总是会变的越来越复杂,这个过程中,面向资源的接口会越来越混乱,逻辑不清晰,交叉比较厉害。所以,聊一聊就可以了,不用太认真。 我们使用的SpringBoot |
15 nullcc 2015-06-03 17:04:41 +08:00 阮一峰有一篇博文《RESTful API 设计指南》写得比较浅显易懂: http://www.ruanyifeng.com/blog/2014/05/restful_api.html |
16 Feiox 2015-06-03 17:11:55 +08:00 如果写 RESTful 文档,可以尝试一下 REST 建模语言: http://raml.org/ |
17 minotaur 2015-06-04 09:33:16 +08:00 不要出现动词,使用get post put delete,浏览器兼容是个问题 |
18 qianlifeng 2015-06-30 14:53:28 +08:00 @johnnyb ``` http://~/users 用户列表 http://~/users/{id} 用户详情/编辑 http://~/users/new 新用户(news视为{id}的特殊形式) http://~/users/{id}/roles 用户权限列表(二级资源,可以继续套用RESTfull) ``` 感觉应该是: ``` http://~/users GET/用户列表 ,POST/新用户,PUT/更新 ``` 一般不用下面这种形式创建吧? http://~/users/new 新用户(news视为{id}的特殊形式) |
19 johnnyb 2015-07-01 12:12:25 +08:00 @qianlifeng 你是对的。我这里确实没交代清楚,举的例子应该是描述如何在浏览器地址栏呈现,对应api路径其实只有 http://~/users 一个,然后通过method来判定:POST/新用户,PUT/更新,DELETE/删除。。。 |
20 Ouyangan OP @johnnyb @qianlifeng 谢谢大家... |