解决@PathVariable参数接收不完整的问题

目录
  • 解决@PathVariable参数接收不完整的问题
    • 今天遇到的问题是:
    • 解决办法:
  • @PathVariable接受的参数可能为null

解决@PathVariable参数接收不完整的问题

今天遇到的问题是:

发送url参数接收不完整导致程序报错

http://localhost:8080/ddoe-control-center/orm/base/detail/com.sitech.ddoe.client.api.objopt.sample.Student

动态参数是com.sitech.ddoe.client.api.objopt.sample.Student

由于有分隔符.导致接收到的参数少了一部分,

解决办法:

@RequestMapping("/base/detail/{dataObjectId:.+}")
public ModelAndView detailDataObject(@PathVariable String dataObjectId) {
        .....
    }

参考文档:

@PathVariable出现点号”.”时导致路径参数截断获取不全的解决

@PathVariable接受的参数可能为null

@RequestMapping(value = {"/getTreeNode/{id}","/getTreeNode"}, produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @ApiOperation("查询树节点接口")
    public List<ModelTreeDto> getTreeNode(@PathVariable(value = "id",required=false ) String id) throws Exception {
        return modelTreeServiceImpl.getTreeNode(id);
    }

1.加上required=false,

2.在mapping上加上"/getTreeNode",这样可以使required=false生效,当没有传参时会请求/getTreeNode

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

(0)

相关推荐

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

    说明 设置可以不传: 但是请求的时候,仍然提示projectId必传: 这是因为url要求带参,属于REST参数. 解决办法 设置多个url path即可,有的传REST参,有的不传.当然required必须是false 这个问题以前解决过,--还是要温习一下比较好呀 补充:接收参数注解@PathVariable 与 @RequestParam与 不使用注解接收参数的情况 @RequestParam使用场景: @RequestParam: 顾名思义,获取请求参数的 @RequestParam的两

  • 如何处理@PathVariable中的特殊字符问题

    上代码: @GetMapping(value="/user/{useraccount}") public void getUserAccount(@PathVariable("useraccount") String userAccount) { logger.info("useraccount :" + userAccount); } 正常访问: /user/zhangsan 打印:useraccount : zhangsan 看似一切正常 b

  • SpringMVC使用@PathVariable接收参数过程解析

    PathVariable 映射 URL 绑定的占位符 带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义 通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable("xxx") 绑定到操作方法的入参中. 使用MVC时,总是出现一些问题,当然都是使用造成的. 今天遇到一个问题,使用@PathVariable

  • 解决@PathVariable对于特殊字符截断的问题

    概述: @ResponseBody @RequestMapping(value="/download/{fileName:[a-zA-Z0-9\\.\\-\\_]+}", method = RequestMethod.GET) public void downloadAmr( HttpServletRequest request, HttpServletResponse response, @PathVariable("fileName") String fileN

  • 解决@PathVariable参数接收不完整的问题

    目录 解决@PathVariable参数接收不完整的问题 今天遇到的问题是: 解决办法: @PathVariable接受的参数可能为null 解决@PathVariable参数接收不完整的问题 今天遇到的问题是: 发送url参数接收不完整导致程序报错 http://localhost:8080/ddoe-control-center/orm/base/detail/com.sitech.ddoe.client.api.objopt.sample.Student 动态参数是com.sitech.d

  • 解决SpringMVC Controller 接收页面传递的中文参数出现乱码的问题

    新配置一个spring的MVC项目,发现对Get请求的中文参数出现了乱码: 查看了SpingMVC中关于编码的配置(在web.xml中),如下: <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param>

  • Spring MVC请求参数接收的全面总结教程

    前提 在日常使用SpringMVC进行开发的时候,有可能遇到前端各种类型的请求参数,这里做一次相对全面的总结.SpringMVC中处理控制器参数的接口是HandlerMethodArgumentResolver,此接口有众多子类,分别处理不同(注解类型)的参数,下面只列举几个子类: RequestParamMethodArgumentResolver:解析处理使用了@RequestParam注解的参数.MultipartFile类型参数和Simple类型(如long.int)参数. Reques

  • 通过spring boot 设置tomcat解决 post参数限制问题

    今天传图片,用的base64字符串,POST方法,前端传送的时候总是莫名其妙的崩溃,去网上搜了半天,以为是文件大小被限制了,但是我这个是字符串接收,不是文件接收,于是又继续搜,原来post本身没有参数大小限制,但是tomcat给限制了,于是解决方式如下: 一.外置的tomcat 这个简单,直接在server.xml里面添加或者修改这句话: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout=

  • SpringBoot切面拦截@PathVariable参数及抛出异常的全局处理方式

    目录 SpringBoot切面拦截@PathVariable参数及抛出异常的全局处理 例如: 为了方便统一验证,基于切面来实现数据的验证 全局异常处理 异常原因: java.lang.reflect.UndeclaredThrowableException的解决 问题 原因 解决 教训 SpringBoot切面拦截@PathVariable参数及抛出异常的全局处理 微信小程序的接口验证防止非法请求,登录的时候获取openId生成一个七天有效期token存入redis中. 后续每次请求都需要把to

  • 使用springmvc参数接收boolean类型参数的问题

    目录 springmvc参数接收boolean类型参数 如何接收以is开头的boolean类型的参数 开发环境 问题 小结一下 springmvc参数接收boolean类型参数 在开发项目过程中,发现形参对象中的boolean类型的字段isXxxx始终无法被接收, 通过查询资料发现,boolean类型的参数应当避免使用is开头进行命名,因为该类型的参数的set方法会自动命名为is+字段名,如果字段名中是is开头,会产生问题. 修改参数set方法也可以解决,is开头加set. 如何接收以is开头的

  • 浅谈layui分页控件field参数接收对象的问题

    第一次使用layui分页控件,遇到的问题..field: 'type.typeName' 获取不到值. 页面代码 table.render({ elem: '#bookTable' ,height: 'full-20' ,url: '/admin/getBook' //数据接口 ,request: { pageName: 'begin' //页码的参数名称,默认:page ,limitName: 'length' //每页数据量的参数名,默认:limit } ,page: true //开启分页

  • 解决SpringMVC同时接收Json和Restful时Request里有Map的问题

    现在正在做的项目要将旧系统实现微服务,用 SpringBoot 来做,有时候同一个 Request 就要同时接收来自 ajax 的 Json 数据和 Restful 的数据,如果里面还包含 Map 怎么办呢? 最近就只想出了这种办法,仅供参考.如有错误请指正,谢谢. 代码 Json 数据 { "fieldMap": { "middleName": "1", "mailingAddress": "2", &q

  • python 解决print数组/矩阵无法完整输出的问题

    当数组/矩阵过大则只会显示其中一部分,中间则会自动用省略号代替: 直接在import numpy 加上下面一句代码即可解决: import numpy as np np.set_printoptions(threshold=np.inf) 这样就可以将比较大的数组全显示出来: 以上这篇python 解决print数组/矩阵无法完整输出的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 解决@PathVariable出现点号.时导致路径参数截断获取不全的问题

    目录 @PathVariable出现点号.时导致路径参数截断获取不全 1.问题 2.解决方案 @PathVariable中带有.等特殊符号的处理方式 例如 假如用 需要修改 @PathVariable出现点号.时导致路径参数截断获取不全 1.问题 SpringMVC项目中通过下面的URL进行GET请求.当version有多个小数点的时候.如version为1.0.1008.后台通过@PathVariable来获取version等于1.0.会丢失部分数据. URL: http://host_ip/

随机推荐