V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zeyexe  ›  全部回复第 3 页 / 共 10 页
回复总数  196
1  2  3  4  5  6  7  8  9  10  
2019-10-23 15:57:05 +08:00
回复了 h82258652 创建的主题 程序员 采取 RESTful 风格的 api 是否应该对结果包一层?
@icris 4xx 和 200 并没有区别,也是可以像 200 在 catch 里面写逻辑的,5xx 也是多种类型的,有些是 api 系统可以处理的问题,有些不是来自 api 而是来自网关。

说到底,我的观点是用 http status code 给业务 code 分组,而且这个分组还挺有用的。
2019-10-23 15:32:24 +08:00
回复了 h82258652 创建的主题 程序员 采取 RESTful 风格的 api 是否应该对结果包一层?
我算是看明白了,这里很多人根本就不打算在前端处理 HTTP Status Code。

他们认为全部都可以放到 200 下处理,正常按 Restful 风格的应该放到 401、403 的错误也放 200 下处理。但是 5xx 错误你们怎么办呢,5xx 错误很可能就没有 HTTP Body,又去哪里看业务 code 呢。话说回来,如果你为处理 5xx 错误开了一个 if 分支了,为什么不能为 4xx 错误开一个 if 分支呢。


我的做法是这样的:

API 方面,业务状态正常的放到 HTTP 200 状态码下返回,直接返回数据,不包一层;业务状态异常的放到 HTTP 4xx 状态码下返回,使用固定的数据结构返回,固定的结构包含 code、message 等字段;能处理的 HTTP 5xx 状态一般使用和 4xx 一样的固定结构返回。


前端方面,收到数据之后线判断 HTTP 状态码,如果是 200,就一切正常处理;如果是 4xx 错误,再根据返回的业务 code 处理,或者直接显示 message,或者根据业务 code 执行预定义逻辑;如果是 5xx 错误,可以尝试读取 HTTP Body 了,如果读取到数据了,就和 4xx 错误一样处理,如果没有读取到数据,就显示默认错误。
2019-10-14 15:59:39 +08:00
回复了 xuxu5112 创建的主题 Apple macbookpro15 2015 充电问题 magsafe2 又又又挂了额
@zhouweiluan #5 是 magsafe2 适配器吗?型号是什么? A1435 吗?报价多少?
2019-10-14 04:15:54 +08:00
回复了 w0nglend 创建的主题 优惠信息 ThinkPlus 口红电源特惠,就今天
@oIMOo 兄弟用着怎么样。最近我的 2015 款的 magsafe2 头坏掉了,也想买个转接线接 thinkplus,但是不知道能不能用。
2019-10-09 23:56:34 +08:00
回复了 luckyc 创建的主题 Python vscode 坑死我了.
一般认为从终端复制的字符串不是可靠的数据。因为有一定可能出现少字符、多字符、不可见字符等问题。
2019-10-02 03:17:48 +08:00
回复了 kyrre 创建的主题 程序员 有没有一个正式的公共域名,但解析成本地 127.0.0.1 地址的?
https://readme.localtest.me/

可以使用自定义子域名。
2019-09-29 10:45:28 +08:00
回复了 qingmuhy0 创建的主题 宽带症候群 GCP 总是自动换 DNS
这里提到了很多种方法,任君选择

https://www.cyberciti.biz/faq/dhclient-etcresolvconf-hooks/
视频发布到各大视频网站,自己用 nginx 302 过去,这样方便修改链接地址。二维码就放 nginx 的地址。
@smallpython #8 不能保证两次打包的 md5 值是一样的。
2019-05-11 00:07:08 +08:00
回复了 jalena 创建的主题 DevOps 弱弱的问下,大神都用什么自动化部署工具呢
要轻量级,我正在用的 https://github.com/adnanh/webhook
收到一个 webhook 请求就开始执行任务了
2019-05-04 10:46:09 +08:00
回复了 zhw2590582 创建的主题 分享创造 Artplayer.js - HTML5 视频播放器,求大佬测试一下
@zhw2590582 #5 不好意思。没有注意到。完成度很高了。
2019-05-04 10:20:07 +08:00
回复了 zhw2590582 创建的主题 分享创造 Artplayer.js - HTML5 视频播放器,求大佬测试一下
看起来很不错。希望下一步能集成三大框架。
2019-05-01 08:13:01 +08:00
回复了 cdfmr 创建的主题 分享创造 LunarCal 更新,分享激活码
#37 已经使用,谢谢楼主
2019-04-28 01:22:58 +08:00
回复了 mart1nN 创建的主题 JavaScript 有个不知怎么形容的问题还请老哥们进来指点一下江山
你需要一个 headless 浏览器去执行那个 js
2019-04-25 10:41:13 +08:00
回复了 zeyexe 创建的主题 问与答 JavaScript 为什么是 import ... from ...
@Sapp #19 你是怎么自动引入的,IntelliJ 的自动引入做得很好,WebStorm 就不行。
2019-04-25 10:34:29 +08:00
回复了 zeyexe 创建的主题 问与答 JavaScript 为什么是 import ... from ...
@ZhLTE #13 直接 import 也行,java 那样 improt package.module 也挺好的,但就是 JS 目前这种情况就没法自动补全。
2019-04-18 09:18:08 +08:00
回复了 zeyexe 创建的主题 Node.js 想在 vue/webpack HMR 触发 reload 的时候执行一个脚本应该怎么做?
@TomVista #4 文件监听 webpack 本身就有的功能,监听应该不是问题。我主要是想做一个 hook,想要让 webpack 在文件发生变化时自动执行一个脚本。
2019-04-18 08:54:10 +08:00
回复了 zeyexe 创建的主题 Node.js 想在 vue/webpack HMR 触发 reload 的时候执行一个脚本应该怎么做?
@IsaacYoung #1 能不能具体说说应该怎么做。我这个需求感觉类似是一次编译,就像把 less 编译成 css 并保存,我是要把 1 个 json 编译成 2 个 json 并保存。
1  2  3  4  5  6  7  8  9  10  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2582 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 05:12 · PVG 13:12 · LAX 21:12 · JFK 00:12
♥ Do have faith in what you're doing.