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

 更新时间:2021年02月23日 11:36:22   作者:学生宫布  
这篇文章主要介绍了处理@PathVariable注解允许参数为空、允许不传参数的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

说明

设置可以不传:

但是请求的时候,仍然提示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){}//使用对象接收数据

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

相关文章

  • 详解Java Proxy动态代理机制

    详解Java Proxy动态代理机制

    今天给大家带来的是关于Java的相关知识,文章围绕着Java动态代理机制展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • springmvc不进入Controller导致404的问题

    springmvc不进入Controller导致404的问题

    这篇文章主要介绍了springmvc不进入Controller导致404的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 深入了解java Lombok的使用方法

    深入了解java Lombok的使用方法

    这篇文章主要介绍了深入了解java Lombok的使用,Lombok是一个通过注解以达到减少代码的Java库,如通过注解的方式减少get,set方法,构造方法等,需要的朋友可以参考下
    2019-06-06
  • IntelliJ IDEA 2023版本创建Spring项目时Java只能选择17或21的问题解决方法

    IntelliJ IDEA 2023版本创建Spring项目时Java只能选择17或21的问题解决方法

    spring-boot是一个基于Java的开源框架,用于快速构建生产级别的应用程序,这篇文章主要给大家介绍了关于IntelliJ IDEA 2023版本创建Spring项目时Java只能选择17或21的问题解决方法,需要的朋友可以参考下
    2024-07-07
  • SpringMVC数据页响应ModelAndView实现页面跳转

    SpringMVC数据页响应ModelAndView实现页面跳转

    本文主要介绍了SpringMVC数据页响应ModelAndView实现页面跳转,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 关于@Bean的使用方式

    关于@Bean的使用方式

    这篇文章主要介绍了关于@Bean的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • RestTemplate未使用线程池问题的解决方法

    RestTemplate未使用线程池问题的解决方法

    今天给大家带来的是关于Springboot的相关知识,文章围绕着RestTemplate未使用线程池展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Spring装配Bean之用Java代码安装配置bean详解

    Spring装配Bean之用Java代码安装配置bean详解

    这篇文章主要给大家介绍了关于Spring装配Bean之用Java代码安装配置bean的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用spring具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧。
    2017-10-10
  • struts2框架入门

    struts2框架入门

    本文主要介绍了struts2框架的基础入门知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • Spring Boot启动过程(六)之内嵌Tomcat中StandardHost、StandardContext和StandardWrapper的启动教程详解

    Spring Boot启动过程(六)之内嵌Tomcat中StandardHost、StandardContext和Sta

    这篇文章主要介绍了Spring Boot启动过程(六)之内嵌Tomcat中StandardHost、StandardContext和StandardWrapper的启动教程详解,需要的朋友可以参考下
    2017-04-04

最新评论