配置访问路径

SpringBoot源码

# 一、控制器模式

在实际的项目开发中,控制器的路径可能会有许多个。在进行控制器编写的时候,也会有以下两种运行模式。

  1. 控制器跳转模式:可以使用@Controller注解定义,如果要实现Restful显示,也可以联合@ResponseBody注解一起使用。
  2. Restful显示:可以使用@RestController注解,里面所有路径访问的信息都以Restful形式展示。

# 二、使用Restful风格

@RestController
public class MessageController {

    @RequestMapping("/")
    public String home(){
        return "www.xxl.cn";
    }
    
}
1
2
3
4
5
6
7
8
9

此时的控制器程序类上使用了@RestController注解,这样就可以避免在方法上使用@ResponseBody注解。此时,MessageController类中的所有映射路径都会以Restful形式展示。

提示:Restful是SpringCloud技术的实现核心。

在控制器里面一旦使用了@RestController注解,则意味着所有方法都将以Restful风格展示。这种做法未必适合于SpringBoot项目,因为在很多时候需要通过控制器跳转到显示层页面,而Restful是SpringCloud技术的实现关键。

# 三、地址传递参数

也可以进行参数的接收处理。传递参数到控制器中最简单的做法是使用地址重写传递“访问路径?参数名称=内容”(只支持GET请求),在MessageController控制器程序类之中扩充一个新的echo()方法。

@GetMapping("/echo")
public String echo(String msg) {
    return "【echo】" + msg;
}
1
2
3
4

此时如果要进行该路径的访问,则可以直接通过地址栏传递参数(http://localhost:8080/echo?msg=www.xxlcn),并且参数的名称应该默认使用msg。

# 四、@PathVariable

由于SpringBoot支持Restful风格处理,所以参数的接收可以采用路径参数的形式完成,但是需要在控制器方法的参数声明上使用@PathVariable注解与访问路径的参数进行关联。(只支持GET请求

@GetMapping("/echo/{message}")
public String echo2(@PathVariable("message") String msg) {
    return "【echo】" + msg;
}
1
2
3
4

通过地址传递参数,地址设置为http://localhost:8080/echo/www.xxl.cn

最近修改于: 2024/12/31 00:27:04
和宇宙温柔的关联
房东的猫