请求体Josn字符串中多余的引号所引起的问题及解决方法

这篇具有很好参考价值的文章主要介绍了请求体Josn字符串中多余的引号所引起的问题及解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天在写代码时,遇到了一个意想不到的情况,一个函数功能在测试Test里跑得好好的,但是通过前端接收的数据跑起来遇到了java.net.URISyntaxException: Illegal character in query at index...URI语法异常。最后发现居然是接收请求过程的问题。

下面简单演示下问题

后端controller层代码:

@GetMapping("/getString")
    public String getString (@RequestBody String str){
        System.out.println("接收到的字符串为"+str);
        return str;
    }

postman传一串字符

前端传的json字符串多/,Java,spring,java,tomcat,postman

 控制台打印:

接收到的字符串为"一段字符aaaa"

注意这里,多了一对引号,这是在预料之外的,会引起意想不到的BUG。

解决方法:

方法一:直接切割字符串去掉引号

方法二:将传字符串的方法改为传参数

前端传的json字符串多/,Java,spring,java,tomcat,postman

后端的代码:

@GetMapping("/getString")
    public String getString (HttpServletRequest request){
        System.out.println("接收到的字符串为"+request.getParameter("param"));
        return request.getParameter("param");
    }

控制台打印:

接收到的字符串为一段字符串aa

解决了引号多余的问题。 文章来源地址https://www.toymoban.com/news/detail-520918.html

到了这里,关于请求体Josn字符串中多余的引号所引起的问题及解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 9.Python从入门到精通—Python 字符串格式化,三引号,Unicode 字符串

    Python中的字符串格式化是指将一个字符串中的占位符替换为指定的值。Python中有多种字符串格式化的方法,以下是其中的几种常见方法: 使用百分号(%)进行字符串格式化 使用百分号(%)进行字符串格式化是Python中最早的字符串格式化方法。它的基本语法如下: 其中,格

    2024年03月20日
    浏览(57)
  • 如何用java快速去掉字符串前后的双引号

    你可以使用Java中的String类的trim()方法和replace()方法,将字符串前后的双引号去掉。具体步骤如下: 调用trim()方法去掉字符串前后的空格; 调用replace()方法,将字符串前后的双引号替换为空字符串,即去掉双引号。 以下是示例代码: 输出结果为:Hello, world!

    2024年02月11日
    浏览(51)
  • Qt QSQlite数据库插入字符串中存在单个双引号或单个单引号解决方案

    当进行数据库写入或更新时,有时会遇到存在字符串中包含单个双引号或者单引号。 在数据库中,字符串常量时需要用一对英文单引号 \\\'\\\' 或英文双引号 \\\"\\\" 将字符串常量括起来。 比如: 或 一般是使用单引号,如果是数值,则不加单引号或双引号。 但如果字符串中包含单引号

    2024年02月02日
    浏览(66)
  • Java数字字符串去除小数点后末尾多余的0

    需求说明: 数字字符串去除小数点后末尾多余的0 如果字符串为空返回0,非数字则返回原字符串** 方法一(使用BigDecimal): 方法二(使用Float.parseFloat): 引用方法静态方法DecimalInputText :

    2024年02月11日
    浏览(82)
  • 【vue】post请求的参数格式转换为字符串拼接

    我在提交表单的时候,发现一直报500这个错,说是超时,但是我反复查看,并没有什么问题。后来我请求大佬说是请求接口的参数的问题,使用对象JSON的形式就是获取不到,必须是字符串拼接的格式才可以(默默地说,post默认参数是对象JSON格式传递,传字符串拼接的格式是

    2024年02月12日
    浏览(64)
  • nginx脚本,Nginx变量截取字符串,拼接字符串,nginx打印日志,添加修改HTTP请求头,添加修改HTTP响应头

    nginx变量命名,以$开头。 打印日志的目的,是想知道某个变量的值是多少,通过add_header设置响应头,间接地打印日志。 通过设置响应头,然后在浏览器上请求nginx地址,然后得到的响应头,就知道变量值是多少了。 这个需要注意一下,特别是正则 ~   ,后面截取字符串需要

    2024年02月12日
    浏览(72)
  • 在HTTP请求中安全传输base64编码的字符串

    base64 是一种常见的的编码格式,它可以把二进制数据编码成一个由大小写英文字母( a-zA-Z )、阿拉伯数字( 0-9 ),以及三个特殊字符 + 、 / 、 = 组成的字符串。 但是在URL传输中, + 、 / 、 = 这三个特殊字符是保留字符(或者叫不安全字符),如果将编码后的base64字符串直

    2024年02月06日
    浏览(40)
  • shell 拼接字符串,出现后面的字符串覆盖前面的字符串问题

    shell 拼接字符串语法很简单两个参数并排前后写上接口,如下 str1=www str2=bbb s t r 1 str1 s t r 1 str2 的结果未 wwwbbb 有时会出现如下问题: 在拼接字符串的时候,后面的字符串将前面的字符串覆盖了。 shell的内容如下: #!/bin/bash date_str=“ date +%Y%m%d ” echo $date_str python_file_name=\\\" 1

    2024年02月09日
    浏览(50)
  • ChatGPT:字符串操作问题——提取包含括号的字符串中的题干内容

    String title = p.text().split(“(”)[0];为什么会报错 ChatGPT: 在这段代码中,您正在使用Java处理一个字符串(假设是HTML或文本),尝试将其分割成两部分,其中一个是从左括号\\\"(\\\"之前的内容。这段代码的目的是提取标题,但可能会出现一些错误,具体取决于输入字符串和代码的上

    2024年02月07日
    浏览(35)
  • Unity字符串性能问题

    分享一些通过书籍和网络学到的知识 每次动态创建一个string,C#都会在堆内存分配一个内存用来分配字符串,因为C#没有对字符串的缓存机制,会导致每次连接、切割、组合的时候都会申请新的内存,并且抛弃原来的内存,等待GC,而GC又会消耗很多CPU空间,例如对于a = “ax”

    2024年02月10日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包