首页   注册   登录
 run27017 最近的时间轴更新

run27017

V2EX 第 310142 号会员,加入于 2018-04-20 11:11:48 +08:00
分享和开源一个我做的传图小程序
分享创造  •  run27017  •  36 天前  •  最后回复来自 baoshu
5
发布一个写爬虫时能用到的代理池项目
分享创造  •  run27017  •  46 天前  •  最后回复来自 run27017
4
微信照片墙分享小工具
分享创造  •  run27017  •  2018-09-30 13:54:12 PM  •  最后回复来自 iyg429
1
分享一下我的微信传图小程序
分享创造  •  run27017  •  2018-09-28 09:15:21 AM  •  最后回复来自 Gempty
7
分享一波 JSON 转表格的工具
分享创造  •  run27017  •  133 天前  •  最后回复来自 run27017
16
再次推广下我的多人协同的 Swagger 文档撰写工具
分享创造  •  run27017  •  2018-08-22 10:04:13 AM  •  最后回复来自 run27017
3
话说如果我做个写日记的网站你们会捧场吗?
奇思妙想  •  run27017  •  2018-07-12 11:25:07 AM  •  最后回复来自 webersongao
39
run27017 最近回复了
@echo1937 AMD 的不稳
所以说应该买 十代低压本,最好还是 i7-10710 的?
@c416593819 i7-10510u 比 i5-9300h 如何啊
@youngxu 不需要那么离谱啊,续航稍微好点就行了
37 天前
回复了 run27017 创建的主题 分享创造 分享和开源一个我做的传图小程序
@baoshu 是不是跟区域有关啊,我是挂在华东区域的
41 天前
回复了 run27017 创建的主题 分享创造 分享和开源一个我做的传图小程序
@dcalsky 没有啊,奇了怪了
46 天前
回复了 run27017 创建的主题 分享创造 发布一个写爬虫时能用到的代理池项目
@zdnyp 好像是这么个意思
46 天前
回复了 run27017 创建的主题 分享创造 发布一个写爬虫时能用到的代理池项目
紧急提示,我把项目地址更新为:

https://gitee.com/run27017/directed-proxy

定向代理,该命名更符合情境和定位。
最开始我是直接返回数据对象的,如返回单个 user:

```json
{
"name": "Jim",
"age": 18,
...
}
```

返回 user 集合:

```json
[
{ // user 1 },
{ // user 2 },
....
]
```

后来需要返回集合的时候附上一个`total`字段,用于指导客户端的翻页。没办法我只能将集合资源的返回改为:

```json
{
"users": [
....
],
"total": 163
}
```

前端做了很大的改动来适应这里的变化。

这时集合资源成为包装的了,而单个资源没有包装。这样我认为不一致,所以我让单个资源也成为包装的了:

```json
{
"user": {
...
}
}
```

最后,为了统一性,我将请求值也变为包装的了:

```bash
curl -XPUT /user -d '
{
"user": {
...
}
}'
```

所以,如果你认为 API 是否应该对结果包装一层,我的答案始终是:**要**. 而且,不仅仅是返回值,我对请求都会主动地包装一层。

包装对于之后的扩展带来很大的便利。试想一下,如果我一开始就选择包装的方案,那么当我要加入`total`这个字段的时候,影响就很小。

我这里的包装,可能跟楼主说的不是一个意思。对于`{ "code": 200, "message": "", "data": xxx }`这样的格式,我不是太理解。如果接口返回错误,我的格式一般都统一成:

```json
{
"code": "一个字符串代表的错误码"
"message": "错误信息",
"details": {
// 可能用一个对象给出详细的错误描述
}
}
```

这里注意的是,`code`值最好用简短的字符串,而不是数字,更有语义性。

顺便夹带点私货,是我之前写的有关 API 设计的:[聊聊 Web 接口设计和接口行为 ]( https://ruby-china.org/topics/39115)。
127 天前
回复了 hadixlin 创建的主题 程序员 Swagger 使用情况问卷调查
@hadixlin 嗯,其实我也一直推崇代码即文档,但一直没有找到适合的方案。

你现在在做的东西是什么?是要造一个轮子吗?我看是 Spring 上的,我本人并不用 Spring.
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2391 人在线   最高记录 5043   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 19ms · UTC 14:24 · PVG 22:24 · LAX 06:24 · JFK 09:24
♥ Do have faith in what you're doing.