gpt4 book ai didi

java - 重定向到@ResponseBody?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:16:52 28 4
gpt4 key购买 nike

我有一些东西可以通过 spring security 进行 ajax 登录:

@RequestMapping(value="/entry.html", method=RequestMethod.GET)
public String getEntry(){
return isAuthenticated()? "redirect:/logout.jsp":"entry";
}

@RequestMapping(value="/postLogout.html", method=RequestMethod.GET)
public @ResponseBody String getPostLogout(){
return "{success:true, logout:true, session:false}";
}

流程是当收到对/entry.html的调用时,它会检查并选择

  • 重定向到/logout.jsp => 由spring security处理然后重定向到/postLogout.html => 响应JSON
  • 解决查看入口,这是一个jsp,只包含一个json字符串

我想知道我是否可以在 getEntry() 中使用 @ResponseBody 而无需使用 jsp 只编写一个 json 值?

最佳答案

从 Spring 返回 JSON 的最简单方法是 through Jackson .

我会创建一个自定义返回对象:

public class MyReturnObject{
private boolean success;
private boolean session;
private boolean logout;
// + getters and setters
// + 3-arg constructor
}

然后像这样编写 Controller 方法:

@RequestMapping(value="/postLogout.html", method=RequestMethod.GET)
@ResponseBody
public MyreturnObject getPostLogout(){
return new ReturnObject(true,true,false);
}

Spring+Jackson 将负责将对象序列化为 JSON 并设置正确的 mime 类型。参见 this previous answer of mine一个完整的工作版本。

关于java - 重定向到@ResponseBody?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6029253/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com