一、代码
写一个控制器,处理对 /hello1
路径的GET请求,并返回 "Hello world~" 作为响应内容,同时在控制台打印 "Hello World"。
package com.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
// 请求处理类
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
System.out.println("Hello World");
return "Hello world~";
}
}
二、解释代码
1. @RestController
注解
-
作用:
@RestController
是一个组合注解,它实际上是@Controller
和@ResponseBody
的组合。@Controller
: 标识该类为Spring MVC的控制器,用于处理HTTP请求并返回模型和视图。@ResponseBody
: 表示方法的返回值应该直接写入HTTP响应体中,而不是被解释为视图名称。对于RESTful web服务,这意味着返回的内容会直接作为HTTP响应的主体。
2. @RequestMapping
注解
-
作用:
@RequestMapping
用于将HTTP请求映射到特定的控制器方法。它可以应用于类和方法上。- 当用于类上时,它定义了类中所有方法的公共路径前缀。
- 当用于方法上时,它定义了特定方法的请求路径和请求类型(如GET、POST等)。
-
功能: 在这个例子中,
@RequestMapping("/hello")
将所有对路径/hello
的HTTP请求映射到hello()
方法。
三、总结
@RestController
: 表示这是一个REST控制器,所有方法返回的值都直接写入HTTP响应体中。@RequestMapping
: 用于映射HTTP请求到控制器的方法。在这个例子中,/hello
路径的请求会调用hello()
方法。
这个控制器的目的是处理对 /hello1
路径的GET请求,并返回 "Hello world~" 作为响应内容,同时在控制台打印 "Hello World"。
启动代码后,在浏览器输入“localhost:8080/hello1”,便可以在页面看到接收的 "Hello world~",显示在页面。