`

@RequestParam与@PathVariable的区别

 
阅读更多

spring MVC中,两者的作用都是将request里的参数的值绑定到contorl里的方法参数里的,区别在于,URL写法不同。

使用@RequestParam时,URL是这样的:http://host:port/path?参数名=参数值

使用@PathVariable时,URL是这样的:http://host:port/path/参数值

例如:

 

[java] view plain copy
 
  1. @RequestMapping(value="/user",method = RequestMethod.GET)  
  2.    public @ResponseBody  
  3.    User printUser(@RequestParam(value = "id", required = false, defaultValue = "0")  
  4.    int id) {  
  5.     User user = new User();  
  6.        user = userService.getUserById(id);  
  7.        return user;  
  8.    }  
  9.      
  10.    @RequestMapping(value="/user/{id:\\d+}",method = RequestMethod.GET)  
  11.    public @ResponseBody  
  12.    User printUser2(@PathVariable int id) {  
  13.        User user = new User();  
  14.        user = userService.getUserById(id);  
  15.        return user;  
  16.    }  



 

 

上面两个方法,访问路径分别如下:

 


分享到:
评论

相关推荐

    SpringMVC@RequestMapping(重点)@RequestParam@PathVariable示例

    public Book getUserBook(@PathVariable("userId") Long userId, @PathVariable("bookId") Long bookId, @RequestParam("action") String action) { // ... } ``` 这个方法将处理形如`/users/123/books/456?action...

    @PathVariable和@RequestParam的区别1

    在Web开发中,尤其是使用Spring MVC框架时,`@RequestParam`和`@PathVariable`是两种常用的注解,用于从HTTP请求中获取数据。这两个注解的主要区别在于它们处理请求参数的方式。 `@RequestParam`用于获取请求参数,...

    @PathVariable和@RequestParam的区别

    @PathVariable和@RequestParam的区别

    section-02-6.在RestController中获取数据1

    文件上传需要指定`consumes=MediaType.MULTIPART_FORM_DATA_VALUE`,并使用`@RequestParam`与`MultipartFile`结合,如`@RequestParam("file") MultipartFile file`。`MultipartFile`对象提供了处理文件流的方法,...

    springboot实现图片上传和删除

    public ResponseEntity<?> upload(@RequestParam("file") MultipartFile file) { // 业务逻辑,如验证文件类型、大小等 // 调用imageService保存图片信息到数据库,并将文件保存到upload.path目录下 } @...

    SPRING MVC 的请求参数获取的几种方法

    public ModelAndView helloWorld(@PathVariable String id, @PathVariable String str){ System.out.println(id); System.out.println(str); return new ModelAndView("/helloWorld"); } ``` 在上面的代码中,...

    Spring MVC--6.封装参数获得与传递

    总结来说,Spring MVC提供多种方式来封装和传递参数,包括`@RequestParam`、`@PathVariable`、模型绑定以及多值参数处理。通过这些机制,开发者能够灵活地处理各种HTTP请求,构建出高效且易于维护的Web应用程序。在...

    SpringMVC接收请求参数所有方式总结

    `@PathVariable`注解用于获取URL模板变量,例如`public String handle(@PathVariable("id") Long id)`。 8. 文件上传: 使用`MultipartFile`类接收文件,可以是单个文件或文件数组。例如`public void upload(@...

    Controller注解学习笔记.md

    整理笔记:在springboot中的各个注解的作用,包含@Controller、@ResponseBody、@RestController、@RequestMapping、@GetMapping 注解、@SpringBootTest注解:、@RequestParam注解、@Param注解、@pathVariable注解

    springmvc 参数绑定例子

    本示例将深入探讨`@RequestParam`、`@CookieValue`、`@PathVariable`和`@ModelAttribute`这四个注解在参数绑定中的应用。 首先,`@RequestParam`注解用于从HTTP请求的查询参数或POST请求体中获取数据。例如,当用户...

    浅谈SpringBoot处理url中的参数的注解

    public String sayHello(@PathVariable("id") Integer id,@PathVariable("name") String name){ return "id:"+id+" name:"+name; } } ``` 在上面的代码中,我们使用@PathVaribale注解来获取url中的id和name参数。...

    springMVC框架

    - `@PathVariable`用于获取URL路径变量。 - `@ModelAttribute`将对象绑定到模型中。 5. **AOP与IOC在SpringMVC中的应用** - AOP(面向切面编程)常用于日志记录、事务管理等,SpringMVC支持基于注解的AOP配置。 ...

    基于注解的springmvc进行form表单操作

    4. `@RequestParam`:当需要从请求参数中获取值时,可以使用此注解,它会将请求参数与方法参数绑定。 接下来,我们将通过一个简单的例子展示如何使用这些注解处理form表单数据并保存到MySQL数据库: 假设我们有一...

    Postman使用详解(文档+视频+postman请求导出文件+后台java工程演示资源).rar

    3、重点配置环境变量和全局参数、配置自增或时间戳随机参数、请求Cookies设置、Get和Post请求后端用什么注解介绍(@RequestParam、@PathVariable、@RequestBody,详细介绍postman发送{}、[] 格式数据,后端10多种...

    Spring注解 - 52注解 - 原稿笔记

    @JsonPropertyOrder , @JsonSerialize , @JsonSetter , @Lazy , @Order , @PathVariable , @Pointcut , @PostConstruct , @PostMapping , @PreDestroy , @Primary , @PropertySource , @Qualifier , @Repository , ...

    springmvc注解

    4. **@PathVariable**:这个注解用来绑定 URL 中的路径变量到方法参数上。 5. **@RequestParam**:这个注解用来绑定 HTTP 请求中的参数到方法参数上。 6. **@ModelAttribute**:这个注解用来将模型对象绑定到请求...

    SpringBoot前后端传值.docx

    #### 三、@PathVariable 与 @RequestParam 的区别 - **@PathVariable**:主要针对 URL 中作为路径组成部分的数据,比如 `/user/{userId}` 中的 `{userId}`。 - **@RequestParam**:主要用于接收 URL 后面的查询...

    springMVC接收参数的几种注解.pdf

    如果参数名与 URI 模板中的变量名不一致,可以使用 `@PathVariable("name")` 指定变量名。 2. **@RequestHeader 和 @CookieValue** `@RequestHeader` 注解允许开发者从 HTTP 请求头中获取值并将其绑定到方法参数...

    Spring Boot最常用的30个注解.docx

    详细介绍了Spring Boot...1 @PathVariable 2 @RequestParam 3 @RequestBody 4 @Responsebody 六、 全局异常处理相关 1 @ControllerAdvice 2 @ExceptionHandler 七、 Spring Data JPA相关 1 @Entity 2 @Table 3 @Id ……

    Java Spring MVC面试题

    @PathVariable和@RequestParam的区别 @PathVariable将URL中的变量映射到方法参数中,而@RequestParam将请求参数映射到方法参数中。 其他 Spring MVC与Struts2的区别在于,Spring MVC是一个基于Java的轻量级Web框架...

Global site tag (gtag.js) - Google Analytics