本文共 1776 字,大约阅读时间需要 5 分钟。
@RequestMapping注解是Spring框架中用来定义URI映射的重要注解,广泛应用于控制器方法的路由配置。它支持多种属性,能够细化请求地址的匹配规则。以下从基础到进阶详细解析@RequestMapping的使用方法。
value属性是RequestMapping的核心字段,用于指定请求的实际地址。支持三种类型:
method属性用于限制请求的HTTP方法,支持GET、POST、PUT、DELETE等。
consumes指定请求的内容类型(如application/json),确保只有匹配类型的请求被处理。
produces定义返回数据的内容类型,结合Accept请求头,控制响应格式。
params用于强制要求请求参数的存在。
headers指定必须包含的请求头字段,确保请求满足特定条件。
@RequestMapping("/appointments")public class AppointmentsController { // 路由默认value为"/appointments" @RequestMapping(method = RequestMethod.GET) public Map get() { // 实现业务逻辑 }} @RequestMapping(value = "/{day}", method = RequestMethod.GET)public Map getForDay(@DateTimeFormat iso = ISO.DATE) Date day) { // 实现业务逻辑} @RequestMapping(value = "/owners/{ownerId}", method = RequestMethod.GET)public void findOwner(@PathVariable String ownerId, Model model) { // 实现业务逻辑} @RequestMapping(value = "/pets", method = RequestMethod.POST, consumes = "application/json")public void addPet(@RequestBody Pet pet, Model model) { // 实现业务逻辑} @RequestMapping(value = "/pets/{petId}", method = RequestMethod.GET, produces = "application/json")@ResponseBodypublic Pet getPet(@PathVariable String petId, Model model) { // 实现业务逻辑} @RequestMapping(value = "/owners/{ownerId}", method = RequestMethod.GET, params = "myParam=myValue")public void findPet(@PathVariable String ownerId, String petId, Model model) { // 实现业务逻辑} @RequestMapping(value = "/owners", method = RequestMethod.GET, headers = "Referer=http://www.ifeng.com/")public void findOwners() { // 实现业务逻辑} 通过合理配置RequestMapping,可以实现对请求路由的精确控制,提升应用的可维护性和扩展性。
转载地址:http://woqfk.baihongyu.com/