Rails Web服务开发:条件请求与用户控制器实现
1. 条件GET请求
在Web服务中,为了节省时间和带宽,应尽可能在响应中发送 Last-Modified 和 ETag 响应头。当客户端再次请求同一资源时,可以根据自上次 GET 请求以来资源是否有变化来发起条件请求。虽然有第三方Rails控制器可用于设置 Last-Modified 和 ETag 的值,但为避免引入额外复杂性,我们将实现一个较为通用的 Last-Modified 解决方案。
1.1 param[:id] 的特殊情况
Rails默认资源映射到 ActiveRecord 对象,且假设“列表项”资源的URI通过ID标识数据库表中的一行。例如,客户端可能请求 /v1/users/4 而非更易读的 /v1/users/leonardr 。客户端仍可请求 /users/leonardr ,控制器也能处理,但此时用户名会以 params[:id] 的形式存在,而非更具描述性的 params[:username] 。
若URI包含多个路径变量,在 routes.rb 中定义URI时,除最后一个变量外,其他变量的 params 名称可自定义。最后一个变量总是被
超级会员免费看
订阅专栏 解锁全文
1093

被折叠的 条评论
为什么被折叠?



