我正在构建API,并尝试尽可能将其作为RESTFul。
为此,我构建了一个搜索控制器',这允许您查询可搜索的参数,并且发布到它将重定向(302)到控制器/资源,这是由于搜索。
这个其他控制器支持"范围:"标题允许客户端请求它想要的项目列表中的多少和位置。
阅读HTTP规范,它表示如果请求包含范围标题,服务器应仅响应206部分内容。发送范围标题和POST请求是否有效?
对我来说,回答第一个说10个项目是不好的,即使没有提供Range标题,还有206个。 206会让客户知道如果需要它可以要求更多的物品。
答案 0 :(得分:0)
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html& http://svn.tools.ietf.org/svn/wg/httpbis/specs/rfc7233.html表示RANGE仅适用于GET请求。
我想知道为什么你不使用GET请求进行搜索,我猜它会是幂等的,所以GET会更合适。
另请注意,唯一注册的范围单位是字节,这对您来说可能不太有用(请参阅http://www.iana.org/assignments/http-parameters/http-parameters.xhtml#range-units),您当然可以拥有自己的自定义本地单位......但是...... < / p>
我所得到的是,如果您已经离开正常范围规范来添加自己的单位,您可以轻松地说该范围适用于您的命名空间中的POST。
我个人觉得将响应代码限制为特定的请求类型有点奇怪...服务器是否应该告诉客户端它只返回一个范围,即使它请求了整个事情?