我正在使用Django REST框架。默认情况下,所有请求都返回包含分页的JSON对象(prev
,next
,count
,results
)。这在用户检索或创建有关某些内容的信息的90%的情况下非常有用。但是,有一些资源不必返回任何内容,而是确认所有内容都顺利进行 - 例如,假设资源只是heartbeat
请求(" ping&#34 ;)保持会话活动。
是否可以返回一个简单的响应,例如{result: true}
(没有像其他资源那样的任何分页),或者这最终会违反REST原则吗?
答案 0 :(得分:1)
如果你只想知道URI是否完全可用,完全无视正文,你应该只支持HEAD
请求,而不是GET
。
答案 1 :(得分:0)
是的,当然这样对ping请求的响应是可以的。分页仅适用于可以分页的集合。分页不是一个集合的唯一资源没有意义。
对于ping请求,您甚至可以将响应主体留空。
请求:
GET /ping
响应:
200 OK
Content-Length: 0
答案 2 :(得分:0)
应使用范围标题或超链接来解决分页。您不需要空响应中的正文,只需要状态标题。