【发布时间】:2010-07-02 14:59:25
【问题描述】:
我正在编写一个简单的基于 url 的 API,它检索数据并以几种格式之一(XML、JSON、CSV)将其发送回。对于如何处理错误响应,我有点犹豫。如果用户提供了一种格式,那么我可以发送该格式的响应,但是如果用户请求的格式不受支持呢?
那是不是更可取的是随意选择一个然后去呢?我应该看看像发送 HTTP 响应这样的东西吗?
【问题讨论】:
我正在编写一个简单的基于 url 的 API,它检索数据并以几种格式之一(XML、JSON、CSV)将其发送回。对于如何处理错误响应,我有点犹豫。如果用户提供了一种格式,那么我可以发送该格式的响应,但是如果用户请求的格式不受支持呢?
那是不是更可取的是随意选择一个然后去呢?我应该看看像发送 HTTP 响应这样的东西吗?
【问题讨论】:
如果您正在创建 API,那么使用 REST 似乎很有意义。确实有格式选择,但记录默认值,无论它是什么格式,并以该格式返回错误消息,以及指示错误一般原因的正确响应代码。
这里有一点关于 REST 中的错误处理,如果你去那一圈的话。
http://www.oreillynet.com/onlamp/blog/2003/12/restful_error_handling.html
【讨论】:
当客户需要不支持的格式时,您可以回复 406 Not Acceptable
【讨论】: