【发布时间】:2016-07-04 13:35:14
【问题描述】:
我目前正在使用 API,我认为这是对 REST API 的错误实现。
我们有以下端点
- GET v1/{organizationId}/invoices
- GET v1/{organizationId}/invoices/{guid}
当您获取第一个端点时,您将获取所有发票,但如果您获取第二个端点,但没有 Accept: Application/json 标头,您将获得来自第一个端点的响应。
提供 API 的公司表示,这样做的原因是因为第二个端点可以同时提供 JSON 和 PDF 输出,看起来就像 PDF 一样
GET v1/{organizationId}/invoices/{guid}/pdf
此外,如果发送格式错误的guid,您会得到一个完整的 HTML 404 错误页面,而不是空白页面或错误消息。
总结一下
- 2. 端点处理得当吗?
- 将 PDF 作为 JSON/XML 之类的输出是否有效?
- 不应该是一个新的端点吗?
- 是否允许 HTML 作为错误响应,即使是格式错误的请求?
【问题讨论】:
-
4 听起来像是返回 Http Status Code 400 Bad Request 的理想场所
-
嗨,您能分享一下用于以相同方法返回 json 和 pdf 的代码 sn-p 吗?我们有完全相同的要求。谢谢!