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

来源:脚本之家  责任编辑:小易  

说明

设置可以不传:

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

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

您可能感兴趣的文章:@PathVariable注解,让spring支持参数带值功能的案例聊聊@RequestParam,@PathParam,@PathVariable等注解的区别SpringBoot中自定义注解实现参数非空校验的示例基于@PathVariable注解的用法说明

  • 本文相关:
  • java中的onetomany的使用方法
  • java发送邮件遇到的常见需求汇总
  • java读取csv文件和写csv示例分享
  • 使用springboot整合ssm项目的实例详解
  • java实现获取cpu、内存、硬盘、网络等信息的方法示例
  • mybatis map查询结果下划线转驼峰的实例
  • 如何基于java随机获取不重复数值
  • java的各种类型转换全部汇总(推荐)
  • spring实现aware接口自定义获取bean的两种方式
  • java实现字符串的全排列
  • java 方法传参时,不是必须传的参数如何设置
  • java@pathvariable怎么设置默认值
  • 怎么做才能让@QueryParam注解允许url中的参数为空
  • springmvc中@PathVariable和@RequestParam的区别
  • java不定参数传参问题
  • @PathVariable和@RequestParam的区别
  • java 中 自定义注解的时候,怎么设置该属性非必填
  • @pathvariable和@requestparam的区别,sessionattr...
  • java方法传参的时候判断参数是否为null
  • 说明下@PathVariable和@RequestParam的区别
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全c#教程vbvb.netc 语言java编程delphijavaandroidiosswiftscala易语言汇编语言其它相关首页@pathvariable注解,让spring支持参数带值功能的案例聊聊@requestparam,@pathparam,@pathvariable等注解的区别springboot中自定义注解实现参数非空校验的示例基于@pathvariable注解的用法说明java中的onetomany的使用方法java发送邮件遇到的常见需求汇总java读取csv文件和写csv示例分享使用springboot整合ssm项目的实例详解java实现获取cpu、内存、硬盘、网络等信息的方法示例mybatis map查询结果下划线转驼峰的实例如何基于java随机获取不重复数值java的各种类型转换全部汇总(推荐)spring实现aware接口自定义获取bean的两种方式java实现字符串的全排列intellij idea 2020最新激活码(亲java使double保留两位小数的多方intellij idea 2020.2.3永久破解java8 十大新特性详解idea2020.2.2激活码与intellij ijava.net.socketexception: connjava写入文件的几种方法分享2020.2 intellij idea激活与ideajava 十六进制与字符串的转换java环境变量的设置方法(图文教程详解如何使用java实现open addressing利用httpurlconnection 上传 接收文件的实javaweb实现学生信息管理系统浅谈javaweb中的web.xml配置部署描述符文springboot与docker的结合的示例intellij idea 如何通过数据库表生成带注springboot实现热部署操作方法spring mvc的文件上传和下载以及拦截器的浅谈springboot整合rocketmq使用心得maven profile动态选择配置文件详解
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved