springBoot重定向问题?

java-小学生 2019-05-17 03:28:45
这是后台代码:
@RequestMapping(value = "/findAllStudent", method = RequestMethod.GET)
@ResponseBody
public String findAllStudent() {
List<Student> students = studentService.findAll();
String result = "";
for (Student s : students
) {
result = JSON.toJSONString(s) + result;

}

return result;
}


这是请求:
localhost:8080/findAllStudent

目前来说返回的是json格式的数据库信息.
我想要做的是输入localhost:8080/findAllStudent请求然后跳转到其他网页,比如www.baidu.com

...全文
665 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38001183 2019-07-10
  • 打赏
  • 举报
回复
用"redirect:login",login为跳转路径或controller的mapping
qq_44718473 2019-06-12
  • 打赏
  • 举报
回复
return:"redirect: url"; 然后responseBody去掉试试
java-小学生 2019-05-17
  • 打赏
  • 举报
回复
引用 14 楼 Nirvana_lss 的回复:
[quote=引用 9 楼 java-小学生 的回复:] [quote=引用 8 楼 Nirvana_lss 的回复:] [quote=引用 7 楼 Nirvana_lss 的回复:] [quote=引用 6 楼 java-小学生 的回复:] [quote=引用 5 楼 Nirvana_lss 的回复:] [quote=引用 2 楼 java-小学生 的回复:] [quote=引用 1 楼 Nirvana_lss 的回复:] @ResponseBody这个注解是让你返回的数据为json数据,所以不会跳转页面 要想跳转到别的页面,不能使用这个注解,你的返回值就是你要跳转的页面
试了不行,把@ResponseBody注了接口不能返回数据了[/quote] 你是想跳转页面的同时把数据也传过去吧,可以用作用域Model来传, model.addAttribute("xxx", result); 然后在页面通过${“xxx”}来获取数据[/quote] 就是单纯的跳转也过不去,注解注掉之后页面Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Fri May 17 15:44:12 CST 2019 There was an unexpected error (type=Not Found, status=404). No message available[/quote] 那是别的原因跟这个没关系,你看看你的启动类是不是在最外层,启动类要放到Controller类的外层[/quote] 或者你可以上个图我给你看一下? [/quote][/quote] 你看看你的页面是在resources目录下存放还是哪里,要是在resources目录下新建一个文件夹存放,需要在application.properties文件里映射访问路径及后缀: spring.thymeleaf.prefix=classpath:/文件夹名字/ spring.thymeleaf.suffix=.html
引用 9 楼 java-小学生 的回复:
[quote=引用 8 楼 Nirvana_lss 的回复:] [quote=引用 7 楼 Nirvana_lss 的回复:] [quote=引用 6 楼 java-小学生 的回复:] [quote=引用 5 楼 Nirvana_lss 的回复:] [quote=引用 2 楼 java-小学生 的回复:] [quote=引用 1 楼 Nirvana_lss 的回复:] @ResponseBody这个注解是让你返回的数据为json数据,所以不会跳转页面 要想跳转到别的页面,不能使用这个注解,你的返回值就是你要跳转的页面
试了不行,把@ResponseBody注了接口不能返回数据了[/quote] 你是想跳转页面的同时把数据也传过去吧,可以用作用域Model来传, model.addAttribute("xxx", result); 然后在页面通过${“xxx”}来获取数据[/quote] 就是单纯的跳转也过不去,注解注掉之后页面Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Fri May 17 15:44:12 CST 2019 There was an unexpected error (type=Not Found, status=404). No message available[/quote] 那是别的原因跟这个没关系,你看看你的启动类是不是在最外层,启动类要放到Controller类的外层[/quote] 或者你可以上个图我给你看一下? [/quote][/quote] 你看看你的页面是在resources下面存放还是哪里,要是在resources下新建一个文件夹如templates存放页面,需要在application.properties配置文件里映射路径及后缀名: spring.thymeleaf.prefix=classpath:/templates/ spring.thymeleaf.suffix=.html[/quote]多谢指教
Nirvana_lss 2019-05-17
  • 打赏
  • 举报
回复
引用 9 楼 java-小学生 的回复:
[quote=引用 8 楼 Nirvana_lss 的回复:]
[quote=引用 7 楼 Nirvana_lss 的回复:]
[quote=引用 6 楼 java-小学生 的回复:]
[quote=引用 5 楼 Nirvana_lss 的回复:]
[quote=引用 2 楼 java-小学生 的回复:]
[quote=引用 1 楼 Nirvana_lss 的回复:]
@ResponseBody这个注解是让你返回的数据为json数据,所以不会跳转页面
要想跳转到别的页面,不能使用这个注解,你的返回值就是你要跳转的页面

试了不行,把@ResponseBody注了接口不能返回数据了[/quote]
你是想跳转页面的同时把数据也传过去吧,可以用作用域Model来传, model.addAttribute("xxx", result);
然后在页面通过${“xxx”}来获取数据[/quote]
就是单纯的跳转也过不去,注解注掉之后页面Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Fri May 17 15:44:12 CST 2019
There was an unexpected error (type=Not Found, status=404).
No message available[/quote]
那是别的原因跟这个没关系,你看看你的启动类是不是在最外层,启动类要放到Controller类的外层[/quote]
或者你可以上个图我给你看一下?
[/quote][/quote]
你看看你的页面是在resources目录下存放还是哪里,要是在resources目录下新建一个文件夹存放,需要在application.properties文件里映射访问路径及后缀:
spring.thymeleaf.prefix=classpath:/文件夹名字/
spring.thymeleaf.suffix=.html

引用 9 楼 java-小学生 的回复:
[quote=引用 8 楼 Nirvana_lss 的回复:]
[quote=引用 7 楼 Nirvana_lss 的回复:]
[quote=引用 6 楼 java-小学生 的回复:]
[quote=引用 5 楼 Nirvana_lss 的回复:]
[quote=引用 2 楼 java-小学生 的回复:]
[quote=引用 1 楼 Nirvana_lss 的回复:]
@ResponseBody这个注解是让你返回的数据为json数据,所以不会跳转页面
要想跳转到别的页面,不能使用这个注解,你的返回值就是你要跳转的页面

试了不行,把@ResponseBody注了接口不能返回数据了[/quote]
你是想跳转页面的同时把数据也传过去吧,可以用作用域Model来传, model.addAttribute("xxx", result);
然后在页面通过${“xxx”}来获取数据[/quote]
就是单纯的跳转也过不去,注解注掉之后页面Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Fri May 17 15:44:12 CST 2019
There was an unexpected error (type=Not Found, status=404).
No message available[/quote]
那是别的原因跟这个没关系,你看看你的启动类是不是在最外层,启动类要放到Controller类的外层[/quote]
或者你可以上个图我给你看一下?
[/quote][/quote]
你看看你的页面是在resources下面存放还是哪里,要是在resources下新建一个文件夹如templates存放页面,需要在application.properties配置文件里映射路径及后缀名:

spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
java-小学生 2019-05-17
  • 打赏
  • 举报
回复
引用 12 楼 水边2 的回复:
你一定要在Spring Boot里重定向也不是不可以,参考代码:

@RestController
@RequestMapping("")
public class MainController {
    
    @GetMapping("302")
    public ResponseEntity Test302(){
        HttpHeaders headers = new HttpHeaders();
        headers.add("Location", "http://www.baidu.com/");
        return new ResponseEntity( "", headers, HttpStatus.TEMPORARY_REDIRECT);
    }
但是,api一般是返回json,给前端的ajax调用,你有时返回json,有时返回302跳转,给前端同学造成不必要的工作和逻辑处理。
受教了
游北亮 2019-05-17
  • 打赏
  • 举报
回复
你一定要在Spring Boot里重定向也不是不可以,参考代码:

@RestController
@RequestMapping("")
public class MainController {
    
    @GetMapping("302")
    public ResponseEntity Test302(){
        HttpHeaders headers = new HttpHeaders();
        headers.add("Location", "http://www.baidu.com/");
        return new ResponseEntity( "", headers, HttpStatus.TEMPORARY_REDIRECT);
    }
但是,api一般是返回json,给前端的ajax调用,你有时返回json,有时返回302跳转,给前端同学造成不必要的工作和逻辑处理。
java-小学生 2019-05-17
  • 打赏
  • 举报
回复
引用 10 楼 水边2 的回复:
你的理解有问题, 当前大环境下,web开发,基本都前后端分离了,后端只提供api,返回json数据,不应该支持302跳转。 如果需要跳转,应该是api返回一个错误码,前端自行进行跳转。 以前的jsp时代,前后端混合在一起开发的,可以进行302响应和跳转。

response.addHeader("location", "https://www.baidu.com/");
response.setStatus(302);
我只是好奇,后端跳转可不可以用技术去实现.目前我也没有遇到这样的需求.只是想知道,是技术实现不了还是我技术太渣
游北亮 2019-05-17
  • 打赏
  • 举报
回复
你的理解有问题, 当前大环境下,web开发,基本都前后端分离了,后端只提供api,返回json数据,不应该支持302跳转。 如果需要跳转,应该是api返回一个错误码,前端自行进行跳转。 以前的jsp时代,前后端混合在一起开发的,可以进行302响应和跳转。

response.addHeader("location", "https://www.baidu.com/");
response.setStatus(302);
java-小学生 2019-05-17
  • 打赏
  • 举报
回复
引用 8 楼 Nirvana_lss 的回复:
[quote=引用 7 楼 Nirvana_lss 的回复:] [quote=引用 6 楼 java-小学生 的回复:] [quote=引用 5 楼 Nirvana_lss 的回复:] [quote=引用 2 楼 java-小学生 的回复:] [quote=引用 1 楼 Nirvana_lss 的回复:] @ResponseBody这个注解是让你返回的数据为json数据,所以不会跳转页面 要想跳转到别的页面,不能使用这个注解,你的返回值就是你要跳转的页面
试了不行,把@ResponseBody注了接口不能返回数据了[/quote] 你是想跳转页面的同时把数据也传过去吧,可以用作用域Model来传, model.addAttribute("xxx", result); 然后在页面通过${“xxx”}来获取数据[/quote] 就是单纯的跳转也过不去,注解注掉之后页面Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Fri May 17 15:44:12 CST 2019 There was an unexpected error (type=Not Found, status=404). No message available[/quote] 那是别的原因跟这个没关系,你看看你的启动类是不是在最外层,启动类要放到Controller类的外层[/quote] 或者你可以上个图我给你看一下? [/quote]
Nirvana_lss 2019-05-17
  • 打赏
  • 举报
回复
引用 7 楼 Nirvana_lss 的回复:
[quote=引用 6 楼 java-小学生 的回复:]
[quote=引用 5 楼 Nirvana_lss 的回复:]
[quote=引用 2 楼 java-小学生 的回复:]
[quote=引用 1 楼 Nirvana_lss 的回复:]
@ResponseBody这个注解是让你返回的数据为json数据,所以不会跳转页面
要想跳转到别的页面,不能使用这个注解,你的返回值就是你要跳转的页面

试了不行,把@ResponseBody注了接口不能返回数据了[/quote]
你是想跳转页面的同时把数据也传过去吧,可以用作用域Model来传, model.addAttribute("xxx", result);
然后在页面通过${“xxx”}来获取数据[/quote]
就是单纯的跳转也过不去,注解注掉之后页面Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Fri May 17 15:44:12 CST 2019
There was an unexpected error (type=Not Found, status=404).
No message available[/quote]
那是别的原因跟这个没关系,你看看你的启动类是不是在最外层,启动类要放到Controller类的外层[/quote]
或者你可以上个图我给你看一下?
Nirvana_lss 2019-05-17
  • 打赏
  • 举报
回复
引用 6 楼 java-小学生 的回复:
[quote=引用 5 楼 Nirvana_lss 的回复:]
[quote=引用 2 楼 java-小学生 的回复:]
[quote=引用 1 楼 Nirvana_lss 的回复:]
@ResponseBody这个注解是让你返回的数据为json数据,所以不会跳转页面
要想跳转到别的页面,不能使用这个注解,你的返回值就是你要跳转的页面

试了不行,把@ResponseBody注了接口不能返回数据了[/quote]
你是想跳转页面的同时把数据也传过去吧,可以用作用域Model来传, model.addAttribute("xxx", result);
然后在页面通过${“xxx”}来获取数据[/quote]
就是单纯的跳转也过不去,注解注掉之后页面Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Fri May 17 15:44:12 CST 2019
There was an unexpected error (type=Not Found, status=404).
No message available[/quote]
那是别的原因跟这个没关系,你看看你的启动类是不是在最外层,启动类要放到Controller类的外层
java-小学生 2019-05-17
  • 打赏
  • 举报
回复
引用 5 楼 Nirvana_lss 的回复:
[quote=引用 2 楼 java-小学生 的回复:] [quote=引用 1 楼 Nirvana_lss 的回复:] @ResponseBody这个注解是让你返回的数据为json数据,所以不会跳转页面 要想跳转到别的页面,不能使用这个注解,你的返回值就是你要跳转的页面
试了不行,把@ResponseBody注了接口不能返回数据了[/quote] 你是想跳转页面的同时把数据也传过去吧,可以用作用域Model来传, model.addAttribute("xxx", result); 然后在页面通过${“xxx”}来获取数据[/quote] 就是单纯的跳转也过不去,注解注掉之后页面Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Fri May 17 15:44:12 CST 2019 There was an unexpected error (type=Not Found, status=404). No message available
Nirvana_lss 2019-05-17
  • 打赏
  • 举报
回复
引用 2 楼 java-小学生 的回复:
[quote=引用 1 楼 Nirvana_lss 的回复:]
@ResponseBody这个注解是让你返回的数据为json数据,所以不会跳转页面
要想跳转到别的页面,不能使用这个注解,你的返回值就是你要跳转的页面

试了不行,把@ResponseBody注了接口不能返回数据了[/quote]
你是想跳转页面的同时把数据也传过去吧,可以用作用域Model来传, model.addAttribute("xxx", result);
然后在页面通过${“xxx”}来获取数据
java-小学生 2019-05-17
  • 打赏
  • 举报
回复
引用 3 楼 qq_36457110 的回复:
@ResponseBody注解去掉
注了也不可以
god de gold 2019-05-17
  • 打赏
  • 举报
回复
@ResponseBody注解去掉
java-小学生 2019-05-17
  • 打赏
  • 举报
回复
引用 1 楼 Nirvana_lss 的回复:
@ResponseBody这个注解是让你返回的数据为json数据,所以不会跳转页面 要想跳转到别的页面,不能使用这个注解,你的返回值就是你要跳转的页面
试了不行,把@ResponseBody注了接口不能返回数据了
Nirvana_lss 2019-05-17
  • 打赏
  • 举报
回复
@ResponseBody这个注解是让你返回的数据为json数据,所以不会跳转页面
要想跳转到别的页面,不能使用这个注解,你的返回值就是你要跳转的页面

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧