`

springboot @RequestBody 和 @RequestParam

阅读更多
一 在路径中 在PathVariable后面接入“uid”就可以了。
@PathVariable
@RequestMapping(value="/{uid}", method=RequestMethod.GET)
    public List<Map<String, Object>> getUser(@PathVariable("uid") Integer id) {
        return userService.getUserById(id);
    }

二 RequestParam 在url路由上还是在请求的body上
url这样写:http://xxxxx?phoneNum=xxxxxx,也就是说被@RequestParam修饰的参数最后通过key=value的形式放在http请求的Body传过来

@RequestMapping(value="", method=RequestMethod.POST)
    public String postUser(@RequestParam(value="phoneNum", required=true) String phoneNum ) String userName) {
       

三 RequestBody
RequestBody能把简单json结构参数转换成实体类,如下代码
public String testUser(@RequestBody User user){

RequestParam注解接收的参数是来自于requestHeader中,即请求头,也就是在url中,格式为xxx?username=123&password=456,而RequestBody注解接收的参数则是来自于requestBody中,即请求体中。


@RequestParm用于绑定controller上的参数,可以是多个参数,也可以是一个Map集合,GET,POST均可
@RequestParm中name属性是指定参数名,required属性默认为ture,表示必传。若为false则为非必传。属性有defaultValue默认值选项,若该参数为null时,会将默认值填充到参数上。
•只支持Content-Type: 为 application/x-www-form-urlencoded编码的内容。Http协议中,如果不指定Content-Type,则默认传递的参数就是application/x-www-form-urlencoded类型)

requestParam(@RequestParam(name = "string",required = false) String str,@RequestParam(name = "integer",defaultValue = "123456") int integer){

@RequestBody绑定一个对象实体



区别              @RequestParam               @RequestBody
content-type      仅支持x-www-form-urlencoded 支持json格式
请求类型          ALL                         除了GET
注解个数          可多个                      只能一个

用post 可以用对象或map(啥数值都有不安全)来接收,查询时用指定入参

分享到:
评论

相关推荐

    springboot后台接收axios传递的json数据为null

    使用@RequestBody标签接收json数据,参数类型不能用Sting 看这两个注解的作用 @RequestParam 是作用在形参列表上,RequestParam可以接受简单类型的属性,也可以接受对象类型。在前端传入的是json字符串,后台按字符...

    如何解决@RequestParam无法接收vue+axios传递json数据(csdn)————程序.pdf

    理解@RequestParam与@RequestBody的区别非常重要。@RequestParam用于接收请求URL中的查询参数或表单数据,而@RequestBody则用于接收请求体中的数据。如果数据是JSON格式,必须使用@RequestBody并指定正确的Content-...

    使用postman传递数组调试

    以springboot两个接收参数的注解为例:@RequestBody和@RequestParam 一、先简单的写一下springboot的注解@RequestBody和@RequestParam在后台是如何接收数组 直接上图(自行忽略其他注解) @RequestBody接收数组 @...

    SpringBoot构建Restful service完成Get和Post请求

    "SpringBoot构建Restful service完成Get和Post请求" SpringBoot是一款基于Java的...通过使用@RequestMapping、@RequestParam和@RequestBody注解,我们可以灵活地处理Get和Post请求,并且可以快速构建Restful service。

    SpringBoot前后端传值.docx

    - `application/json` 或 `application/xml`:必须使用 `@RequestBody` 来处理,URL 中的参数仍可用 `@RequestParam` 接收。 #### 实际运用 - **参数传值**:当使用 form 表单参数或 URL 参数时,可以直接使用...

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

    详细介绍了Spring Boot最常用的30个注解,包含概念、原理...3 @RequestBody 4 @Responsebody 六、 全局异常处理相关 1 @ControllerAdvice 2 @ExceptionHandler 七、 Spring Data JPA相关 1 @Entity 2 @Table 3 @Id ……

    spring boot前后端传参的实现

    Spring Boot 框架提供了多种方式来实现前后端传参,包括使用 `@PathVariable`、`@RequestParam`、`@RequestBody` 等注解。本文将详细介绍这些注解的使用方法和示例代码。 使用 `@PathVariable` 获取 URL 参数 `@...

    springMVC技术概述

    springMVC相关技术配置使用注解的HandlerMapping和HandlerAdapter使用&lt;mvc:annotation-driver&gt; 不过springBoot已经省略了这些配置 配置使用注解的Handler和Service...@RequestBody,@ResponseBody--json与java对象转换

    基于springboot的4个常见的复杂请求Demo,含实体嵌套List提交、通文件上传、List提交、数组Array提交

    通过`@RequestBody`和`@RequestParam`注解,我们可以轻松地接收和处理JSON数据、文件以及列表和数组。结合实体类,我们可以构建出功能丰富的RESTful API,满足各种业务需求。在实际开发中,应确保对上传的文件大小和...

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

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

    SpringBoot请求参数接收方式

    `@RequestBody`注解用于接收JSON格式或其他MIME类型的数据,这些数据通常由POST、PUT或PATCH请求发送。例如: ```java @RequestMapping("/hello5") public String hello5(@RequestBody UserDto userDto) { ...

    彻底根治Spring @ResponseBody JavaScript HTML特殊字符

    - 对用户输入进行验证和清理,避免注入攻击。 - 定期更新依赖库,确保使用最新版,以利用最新的安全修复。 通过理解Spring MVC的`@ResponseBody`工作原理,以及如何配置Jackson进行HTML转义,我们可以有效地解决...

    springboot2教程之新建个REST API接口(源代码).zip

    在Spring Boot中,可以使用`@RequestParam`、`@PathVariable`、`@RequestBody`等注解来获取请求中的数据。例如,接收一个POST请求并更新用户信息: ```java @PostMapping("/users/{id}") public ResponseEntity...

    springboot的GET请求和POST请求

    public String saveFile(@RequestBody Map, Object&gt; requestBody) { // 处理 requestBody return "success"; } ``` - 以上代码表示,当客户端发送 POST 请求至 `/system/test/saveFile` 时,可以传递 JSON ...

    详解SpringBoot Controller接收参数的几种常用方式

    总结,SpringBoot Controller可以通过`@PathVariable`、`@RequestParam`、`@RequestBody`、`@RequestHeader`和`@CookieValue`等多种方式接收不同类型的参数,以满足各种HTTP请求的需求。理解并熟练掌握这些注解的...

    springboot如何去获取前端传递的参数的实现

    在上面的代码中,`@RequestBody` 注解用来将请求体里的参数转化成 `BannerCreateDto` 对象。 Spring Boot 提供了多种方式来获取前端传递的参数,包括路径参数、查询参数和请求体参数。通过使用合适的注解和对象,...

    springboot

    6. **@RequestBody**:用于将 HTTP 请求体中的 JSON 或 XML 数据转换为 Java 对象。 7. **@ResponseBody**:标注在方法上,表示该方法的返回结果将直接写入 HTTP 响应体中,通常配合 @RestController 使用。 8. **...

    SpringBoot注解文档

    14. `@RequestBody`和`@ResponseBody`: 分别用于将HTTP请求体转换为Java对象,以及将Java对象转换为HTTP响应体。 15. `@RequestParam`和`@PathVariable`: 分别用于从URL参数和路径变量中获取值。 16. `@...

    springboot快速使用文档及项目说明

    - 使用`@PathVariable`、`@RequestParam`、`@RequestBody`等接收参数。 6. **集成其他服务**: - 数据库:通过`spring-boot-starter-data-jpa`或`spring-boot-starter-data-mongodb`等Starter集成JPA或MongoDB。 ...

Global site tag (gtag.js) - Google Analytics