【发布时间】:2015-02-15 18:27:59
【问题描述】:
我在 MVC 控制器中有一些逻辑,这可能会导致 URL 参数被忽略,从而导致 URL 可能具有误导性
作为说明:
如果控制器中的 GET 处理程序逻辑针对以下 URL:
http://example.com/results?sortByField=10&search=full&locationId=1
忽略 sortByField 的值并使用其他参数类型计算值
例如
if (search="full" && locationId = 1)
then
//sort results by field 1
else
//sort results by sortByField paramater
这意味着 URL 暗示结果按字段 10 排序,而实际排序字段为 1。
对此的一种解决方案是执行 302 重定向到在上面的 if 语句中修改为 sortByField=1 的原始 URL。这将导致一个干净的 URL,它反映了页面的行为,但会导致额外的往返,而且似乎也不完全符合 302 重定向的定义。
任何关于这是否重要的想法以及使用重定向的利弊表示赞赏。
【问题讨论】: