注解控制器

Spring MVC提供了基于注解的编程模型,其中@Controller@RestController组件使用注解来表示请求映射、请求输入、异常处理等。注解控制器具有灵活的方法签名,不必扩展基类或实现特定接口。以下示例展示了通过注解定义的控制器:

  • Java

  • Kotlin

@Controller
public class HelloController {

	@GetMapping("/hello")
	public String handle(Model model) {
		model.addAttribute("message", "Hello World!");
		return "index";
	}
}
import org.springframework.ui.set

@Controller
class HelloController {

	@GetMapping("/hello")
	fun handle(model: Model): String {
		model["message"] = "Hello World!"
		return "index"
	}
}

在上面的示例中,该方法接受一个Model并返回一个String类型的视图名称,但还有许多其他选项,将在本章后面进行解释。

spring.io上的指南和教程使用了本节描述的基于注解的编程模型。