Java Web应用程序重定向到URL,具体取决于请求的来源

时间:2015-09-24 08:40:33

标签: java model-view-controller web-applications spring-boot

我知道标题并不是很好,但我不确定如何解释它所以我将描述这个场景。

首先,我使用的是MVC设计。

有两种资源UserTopic。用户信息位于/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"

1 个答案:

答案 0 :(得分:1)

在映射到/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的用例?我不这么认为。