首页 > 其他分享 >Spring mvc中@RequestMapping 6个基本用法小结

Spring mvc中@RequestMapping 6个基本用法小结

时间:2023-11-09 11:01:46浏览次数:39  
标签:return RequestMapping Spring departments mvc departmentId public PathVariable


小结下spring mvc中的@RequestMapping的用法。 

1)最基本的,方法级别上应用,例如: 
   

Java代码  



 
   
 
@RequestMapping(value="/departments")  
public
  
"simplePattern method was called");  
return "someResult";  
  
}



   则访问http://localhost/xxxx/departments的时候,会调用 simplePattern方法了 



2) 参数绑定 


  

Java代码



 
   
 
@RequestMapping(value="/departments")  
public
@RequestParam("departmentId") String departmentId){  
    
"Find department with ID: "
return "someResult";  
  
}


   


  形如这样的访问形式: 



   /departments?departmentId=23就可以触发访问findDepatment方法了 



3 REST风格的参数 


  


Java代码  

@RequestMapping(value="/departments/{departmentId}")  
public String findDepatment(@PathVariable
  
"Find department with ID: "
return "someResult";  
  
}



  形如REST风格的地址访问,比如: 


/departments/23,其中用(@PathVariable接收rest风格的参数 



4 REST风格的参数绑定形式之2 


   先看例子,这个有点象之前的: 


Java代码  

@RequestMapping(value="/departments/{departmentId}")  
public
@PathVariable("departmentId") String someDepartmentId){  
  
"Find department with ID: "
return "someResult";  
  
}


   这个有点不同,就是接收形如/departments/23的URL访问,把23作为传入的departmetnId,,但是在实际的方法findDepatmentAlternative中,使用 


@PathVariable("departmentId") String someDepartmentId,将其绑定为 


someDepartmentId,所以这里someDepartmentId为23 



5 url中同时绑定多个id 


 


Java代码  

@RequestMapping(value="/departments/{departmentId}/employees/{employeeId}")  
public
@PathVariable
@PathVariable
  
"Find employee with ID: "
" from department: "
return "someResult";  
  
}


   这个其实也比较好理解了。 



6 支持正则表达式 


  


Java代码  

 
   
 
@RequestMapping(value="/{textualPart:[a-z-]+}.{numericPart:[\\d]+}")  
public
@PathVariable
@PathVariable
  
"Textual part: "
", numeric part: "
return "someResult";  
}




   比如如下的URL:/sometext.123,则输出: 


Textual part: sometext, numeric part: 123. 

标签:return,RequestMapping,Spring,departments,mvc,departmentId,public,PathVariable
From: https://blog.51cto.com/u_809530/8274043

相关文章

  • 备份下启动springboot项目脚本文件 start.sh
    1.将jar包放到和该脚本同级目录2.记得chmod777./start.sh赋予执行权限3.执行./start.sh文件即可4.重启也可以直接执行此文件5.如果没有打包配置文件可以在此脚本同级目录创建config目录将yml/properties配置文件放进去. #!/bin/bash#进入脚本所在路径cd`dirname$......
  • 记录一次springboot开启远程调试的问题
    springboot远程连接报错如下Errorrunning'remote':Unabletoopendebuggerport(10.100.10.54:18082):java.net.ConnectException"Connectionrefused:connect"启动命令如下/usr/local/jdk-11.0.11/bin/java-jar-Xms128m-Xmx1024m-Dserver.port=8082-a......
  • IDEA 关闭SpringBoot启动Logo/图标
     一、环境1、SpringBoot2.6.4 MavenPOM格式<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.4</version><relativePath/></par......
  • Spring Junit单元测试
    发现通过Spring进行bean管理后,做测试会有各种不足,例如,很多人做单元测试的时候,还要在Before方法中,初始化Spring容器,导致容器被初始化多次。@Beforepublicvoidinit(){newFileSystemXmlApplicationContext("classpath:spring/spring-basic.xml");......
  • 【Spring】事务实现原理
    在使用事务的时候需要添加@EnableTransactionManagement注解来开启事务,Spring事务底层是通过AOP来实现的,所以启用事务后,同样会向容器中注入一个代理对象创建器,AOP使用的是AnnotationAwareAspectJAutoProxyCreator,事务使用的是InfrastructureAdvisorAutoProxyCreator。Advice通......
  • SpringBoot AOP + Redis 延时双删功能实战
    一、业务场景在多线程并发情况下,假设有两个数据库修改请求,为保证数据库与redis的数据一致性,修改请求的实现中需要修改数据库后,级联修改Redis中的数据。请求一:A修改数据库数据B修改Redis数据请求二:C修改数据库数据D修改Redis数据并发情况下就会存在A—>C—>D—>B的情......
  • 209-logback-spring.xml,指定日志输出到指定文件
    logback-spring.xml,指定日志输出到指定文件<configuration><!--定义日志输出路径--><propertyname="LOG_HOME"value="/path/to/log/directory"/><!--定义日志格式--><propertyname="LOG_PATTERN"value=......
  • Spring Data Redis使用方式
    SpringBoot提供了对应的Starter,maven坐标:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>SpringDataRedis中提供了一个高度封装的类:RedisTemplate,对相关api进行了......
  • springboot2 springboot 的引导类
    SpringBoot工程提供引导类用来启动程序,SpringBoot工程启动后创建并初始化Spring容器 packagecom.itheima;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.context......
  • springboot中部分数据的封装方法
    //响应字符串格式数据@RequestMapping("/hello")publicResulthello(){System.out.println("HelloWorld");//returnnewResult(1,"success","HelloWorld");returnResult.success("HelloWorl......