我知道这个标题不是很好,但我不知道如何解释它,所以我将描述这个场景。
首先,我使用MVC设计。
存在两个资源User
和Topic
。用户信息可以在/users/{id}
中找到,有一个选项可以浏览由该用户创建的主题,该主题可重定向到/users/{id}/topics
。当用户删除了我想让他发送给/topics/{id}/delete
的话题时,我认为这应该由我的TopicController
来处理。
现在的问题:在我的TopicController
,我如何重定向用户回到/users/{id}/topics
?通常,当浏览所有主题时,它返回/topics
。基本上,如果请求来自用户主题列表,我需要在删除主题后将他返回到那里。
基本上我需要一个更优雅的
解决方案if(requestURI.contains("/users")
return "redirect:/users/{id}/topics"
else
return "redirect:/topics"
在映射到/topics/{id}/delete
的TopicController处理程序中,你需要做任何你需要删除主题的事情,然后像这样:
...
redirectAttrs.addAttribute("id", account.getId());
return "redirect:/users/{id}/topics";
}
更新:
/users/{id}
->调用1处理程序返回用户信息/users/{id}/topics
->调用1处理程序,返回一个用户主题/topics/{id}/delete
->调用1处理程序,删除用户主题
如果用户删除了他/她的主题,那么你不应该总是重定向到/users/{id}/topics
,因为那是他们选择删除主题时的位置吗?
如果用户在/topics
上,那么他们不能删除主题对吗?
你曾经有一个用例指导用户从/topics/{id}/delete
到/topics
吗?我不这么认为。