处理@PathVariable注解允许参数为空、允许不传参数的问题

 更新时间:2021年2月23日 15:00  点击:3004

说明

设置可以不传:

但是请求的时候,仍然提示projectId必传:

这是因为url要求带参,属于REST参数。

解决办法

设置多个url path即可,有的传REST参,有的不传。当然required必须是false

这个问题以前解决过,——还是要温习一下比较好呀

补充:接收参数注解@PathVariable 与 @RequestParam与 不使用注解接收参数的情况

@RequestParam使用场景:

@RequestParam: 顾名思义,获取请求参数的

@RequestParam的两个属性:value 获取值 , required 为 true 必填

1. 1前端地址情景:

http://localhost:8989/SSSP/emps?pageNo=2

如果想获取地址中的 pageNo的值 ‘2'> ,则使用@RequestParam

1.2.前端BootStrap请求情景:

传单个参数:

queryParams:{id,id} // (此时id已获取到js,如var id = row.id )

传多个参数:

 queryParams:function(params){
   return{
    type:#(‘type').val,
    accountName:#(‘accountName').val
    }
 }

1.3 后台获取上面两种传参方式:

Public Object getXiFeiList(@RequestParam Map<String,Object> params){
 //使用方式一:使用get(“key”)获取后使用
 params.get(“id”);
 //使用方式二:作为Query的参数创建对象,直接使用
 Query query = new Query(params);
 List<DictDo> dictList = dictSevice.list(query);
}

@PathVariable使用场景:

@PathVariable:顾名思义,获取url地址中的一部分值

1. 前端地址单参数情景:

http://localhost:8989/SSSP/emp/type

如果想获取地址中的 emp/type 中的 ‘type ',则使用@PathVariable

2. 前端地址多参数情景

http://localhost:8989/SSSP/emp/7/5

如果想获取地址中的 emp/7/5 中的‘7''5',则使用@PathVariable

3. 后台获取:

接收单个参数

String addD(@PathVariable(“type”) String type)

接收多个参数

String addD(@PathVariable(“type”) String type,@PathVariable(“id”) Long id)

不使用注解就可以接收参数的情况

情况1. 前端Js中发送ajax请求data:{‘id',id}情景:

remove(id){
 function(){
   $.ajax(){
   url:prefix+”/remove”,
   type:”post”,
   data:{‘id',id}//ajax使用data传值时使用@PathVariable
   .......
    }
    }
    }

情况1.后台获取:

public R remove(Long id){} // 获取后就可以直接使用

情况2. 前端JS中发送ajax请求data: $('#addLoanForm').serialize()情景:

$.ajax({
 cache: true,
 type: "POST",
 url:"/loansign/signProject/creditSave",
 data: $('#addLoanForm').serialize()
 
 //重要:将前台表单中的数据序列化,序列化的内容是name
}

情况2.后台获取:

public R creditSave( SignCreditDO signCredit){}//使用对象接收数据

以上为个人经验,希望能给大家一个参考,也希望大家多多支持猪先飞。如有错误或未考虑完全的地方,望不吝赐教。

[!--infotagslink--]

相关文章

  • Swagger中@ApiIgnore注解的使用详解

    这篇文章主要介绍了Swagger中@ApiIgnore注解的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-21
  • Nest.js参数校验和自定义返回数据格式详解

    这篇文章主要给大家介绍了关于Nest.js参数校验和自定义返回数据格式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-28
  • 校验非空的注解@NotNull如何取得自定义的message

    这篇文章主要介绍了校验非空的注解@NotNull如何取得自定义的message,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-29
  • PHP中empty和isset对于参数结构的判断及empty()和isset()的区别

    废话不多说了,直接给大家贴代码了。<&#63;php class test{} $a1 = null; $a2 = ""; //$a3 = $a4 = 0; $a5 = '0'; $a6 = false; $a7 = array(); //var $a8; $a9 = new test(); for ($i=1; $i <=9 ; $i++) {...2015-11-24
  • 解决Springboot get请求是参数过长的情况

    这篇文章主要介绍了解决Springboot get请求是参数过长的情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-17
  • java正则表达式判断前端参数修改表中另一个字段的值

    这篇文章主要介绍了java正则表达式判断前端参数修改表中另一个字段的值,需要的朋友可以参考下...2021-05-07
  • mysql配置模板(my-*.cnf)参数详细说明

    mysql安装成功后有几个默认的配置模板,列表如下: my-huge.cnf : 用于高端产品服务器,包括1到2GB RAM,主要运行mysql my-innodb-heavy-4G.ini : 用于只有innodb的安装,最多有4GB RAM,支持大的查询和低流量 my-large.cnf : 用于...2015-03-15
  • Spring为什么不推荐使用@Autowired注解详析

    @Autowired 注解的主要功能就是完成自动注入,使用也非常简单,但这篇文章主要给大家介绍了关于Spring为什么不推荐使用@Autowired注解的相关资料,需要的朋友可以参考下...2021-11-03
  • C#中out参数、ref参数与值参数的用法及区别

    这篇文章主要给大家介绍了关于C#中out参数、ref参数与值参数的用法及区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • 详解C#泛型的类型参数约束

    这篇文章主要介绍了C#泛型的类型参数约束的相关资料,文中讲解非常细致,帮助大家更好的理解和学习c#,感兴趣的朋友可以了解下...2020-07-31
  • Java中lombok的@Builder注解的解析与简单使用详解

    这篇文章主要介绍了Java中lombok的@Builder注解的解析与简单使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-01-06
  • Java线程池中的各个参数如何合理设置

    这篇文章主要介绍了Java线程池中的各个参数如何合理设置操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-06-19
  • vue+axios全局添加请求头和参数操作

    这篇文章主要介绍了vue+axios全局添加请求头和参数操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-24
  • SpringBoot接口接收json参数解析

    这篇文章主要介绍了SpringBoot接口接收json参数解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-19
  • 处理@PathVariable注解允许参数为空、允许不传参数的问题

    这篇文章主要介绍了处理@PathVariable注解允许参数为空、允许不传参数的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-23
  • pytorch 实现冻结部分参数训练另一部分

    这篇文章主要介绍了pytorch 实现冻结部分参数训练另一部分,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-27
  • Mybatis用注解写in查询的实现

    这篇文章主要介绍了Mybatis用注解写in查询的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-13
  • 详解Java后端优雅验证参数合法性

    这篇文章主要介绍了详解Java后端优雅验证参数合法性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-18
  • C#向线程中传递多个参数的解决方法(两种)

    这篇文章主要介绍了C#向线程中传递多个参数的解决方法(两种)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • 解决@Transactional注解事务不回滚不起作用的问题

    这篇文章主要介绍了解决@Transactional注解事务不回滚不起作用的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-23