@RequestParam 接收参数的值为null的处理方式

目录
  • @RequestParam 接收参数的值为null
  • 对于@RequestParam的一些小疑问
    • 问题一
    • 问题二

@RequestParam 接收参数的值为null

@RequestMapping(value = "/test")
 public String test( @RequestParam(value = "profit",required = false,defaultValue = "0") int profit){
      System.out.println("profit:"+profit);
       return "success";
}

第一种处理方式(如上图):defaultValue请求参数的默认值,一般和 required = false 一起使用

第二种处理方式:接收的参数如果是null的话,int就要改为Integer,Integer默认值为null

@RequestMapping(value = "/test")
 public String test(@RequestParam(
 @RequestParam(value = "profit",required = false) Integer profit){
      System.out.println("profit:"+profit);
       return "success";
}

对于@RequestParam的一些小疑问

问题一

首先我在使用spring时一直使用@RequestParam来校验参数是否为空,但是我想我对@RequestParam的用法产出了一些误解。

简单来说@RequestParam只能验证你有没有传这个参数,而不能验证你传的参数是否为空。

问题二

还有一个问题,有一次我写一个代码如下:method(@RequestParam User user),然后报错如下:Required XXX parameter 'xxx' is not present

把@RequestParam删除就行了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 使用@RequestParam设置默认可以传空值

    @RequestParam设置默认可以传空值 设置如下 @RequestParam(value="CbqkJson[]",required=false)String[] CbqkJson 如果不设置空值,是默认必须传值的.有时候没值,前台也无法传个空的值过来时,就会出现无法进方法的情况. 注:参数名称必须与value里面的完全一样,包括那个[].如果前台用的框架传数组没有那个[],则可以取消掉[]改成"CbqkJson" 参数类型则是以后面定义的类型为主的,如果参数

  • Spring Boot中@RequestParam参数的5种情况说明

    目录 Spring Boot中@RequestParam参数的5种情况 实例如下: Spring Boot注解:@RequestParam详解 1.value:参数名字,即入参的请求参数名字 ​2.required:该参数是否为必传项. ​3.defaultValue:参数的默认值 Spring Boot中@RequestParam参数的5种情况 实例如下: // 可带参数可不带参数,方法都能执行 @RequestMapping("/list") public String test1

  • 关于Springboot | @RequestBody 接收到的参数对象属性为空的问题

    背景 今天在调试项目的时候遇到一个坑,用Postman发送一个post请求,在Springboot项目使用@RequestBody接收时参数总是报不存在,但是多次检查postman上的请求格式以及项目代码都没有问题 Postman: 请求参数: { "firstName":"fdsaf", "lastName":"dfasdf" } Controller: Entity 通过debug模式可以发现传进到实体的参数都为null

  • 解决Springboot 2 的@RequestParam接收数组异常问题

    目录 Springboot 2 的@RequestParam接收数组异常 所以这里给出解决方式: Springboot 的 用数组接参方法 Post接参 RequestParam 其中value 的值随传参改变 有几点需要注意: Springboot 2 的@RequestParam接收数组异常 最近Vue 开发前端,然后向后台springboot 2 传递数组,发现springboot 2 接收数组方式无法使用 -- @RequestParam("ids[]") List<St

  • @RequestParam 接收参数的值为null的处理方式

    目录 @RequestParam 接收参数的值为null 对于@RequestParam的一些小疑问 问题一 问题二 @RequestParam 接收参数的值为null @RequestMapping(value = "/test") public String test( @RequestParam(value = "profit",required = false,defaultValue = "0") int profit){ System

  • Spring boot route Controller接收参数常用方法解析

    Controller接收参数的常用方式总体可以分为三类.第一类是Get请求通过拼接url进行传递,第二类是Post请求通过请求体进行传递,第三类是通过请求头部进行参数传递. 1 @PathVariable接收参数 请求方式:localhost:7001/param/123 请求示例: 代码示例: @GetMapping("{id}") public String getPathVariable(@PathVariable String id){ return "id=&quo

  • 在controller中如何设置接收参数的默认值

    目录 controller设置接收参数的默认值 @RequestParam代表的是请求参数注解 controller的传参问题 controller的映射 直接写类型,跟参数名 Request.getParameter方法 @RequestParam注解 @PathVariable注解 controller设置接收参数的默认值 public @ResponseBody Object queryActivityForPageByCondition( @RequestParam(value="kkk

  • Sql Server 存储过程调用存储过程接收输出参数返回值

    创建存储过程: ALTER PROCEDURE [dbo].[GetCustomers] (@rowcount INT OUTPUT) AS SELECT [CustomerID] ,[CompanyName] ,[ContactName] ,[ContactTitle] ,[Address] ,[City] ,[Region] ,[PostalCode] ,[Country] ,[Phone] ,[Fax] FROM [Northwind].[dbo].[Customers] SET @row

  • springmvc接口接收参数与请求参数格式的整理

    目录 springmvc接口接收参数与请求参数格式 一.首先我们需要认识下http请求中的Content-Type 二.注解@RequestParam(value="id") 三.注解@RequestBody springmvc接口接受前端传递参数数据类型总结 一.springMVC中controller参数是自动注入 二. 接受前端传递的对象 三.小结一下 springmvc接口接收参数与请求参数格式 前言: 相信大家在刚开始接触接口定义与调用时遇到过接口接收不到请求参数的问题,本人

  • SpringBoot开发详解之Controller接收参数及参数校验

    目录 Controller 中注解使用 传输参数的几种Method 获取参数的几种常用注解 使用对象直接获取参数 使用@Valid对参数进行校验 总结 Controller 中注解使用 接受参数的几种传输方式以及几种注解: 在上一篇中,我们使用了JDBC链接数据库,完成了简单的后端开发.但正如我在上文中抛出的问题,我们能不能更好的优化我们在Controller中接受参数的方式呢?这一篇中我们就来聊一聊怎么更有效的接收Json参数. 传输参数的几种Method 在定义一个Rest接口时,我们通常会

  • SpringBoot实现前后端、json数据交互以及Controller接收参数的几种常用方式

    目录 前言 获取参数的几种常用注解 一.请求路径参数get请求 二.Body参数POST请求 四.HttpServletRequest 五.参数校检 最终选择交互方式 参考文献 总结 前言 现在大多数互联网项目都是采用前后端分离的方式开发,前端人员负责页面展示和数据获取,后端负责业务逻辑处理和接口封装.当与前端交互的过程当中,常用json数据与前端进行交互,这样想取出前端传送过来的json数据的时候,就需要用到@RequestBody这个注解.@RequestBody注解用于读取http请求的内

  • SpringBoot接收参数使用的注解实例讲解

    目录 1.基本介绍 2.接收参数相关注解应用实例 @PathVariable 使用 @RequestHeader 使用 @RequestParam 使用 @CookieValue 使用 @RequestBody 使用 3.复杂参数 1.基本介绍 2.复杂参数应用实例 4.自定义对象参数-自动封装 1.基本介绍 2.自定义对象参数-应用实例 1.基本介绍 SpringBoot 接收客户端提交数据/参数会使用到相关注解 详 解 @PathVariable . @RequestHeader . @Mo

  • SpringMvc接收参数方法总结(必看篇)

    接收参数的方式: 1.HttpServletRequest方式接收 public ModelAndView test1(HttpServletRequest req){ String userName = req.getParameter("userName"); String password = req.getParameter("password"); System.out.println(userName); System.out.println(passw

随机推荐