cURL命令向Spring Boot,模拟post传递参数

  • 先认识cURL命令
    1. 通过get

      1. 源代码中的注解是@GetMapping

         curl http://locolhost:8080/getAll
        
        • 问题1:返回数据乱码(我的数据库的字符集是utf-8) 在这里插入图片描述
        • 解决方式:输入chcp 65001(也就是utf-8),这是之前我在VS CODE终端出现中文乱码用这种方法解决,试了一下发现成功了
    2. 通过post

      1. 源代码中的注解改为@PostMapping,并在cmd中chcp 65001

      2. 问题一:请求带有中文报错

         curl -d "name=lxn&id=9&gender=男"
        

        经检查,把gender的字符长度设置为2可以解决

      3. 问题二:请求带有中文乱码

         curl -d "name=孙六&id=4&gender=女" localhost:8080/install
        

        emmm,利用url解码工具把中文字符串改一下,就成了下面这个

         curl -d "id=4&name=%E5%AD%99%E5%85%AD&gender=%E5%A5%B3" localhost:8080/install
        

        成功了…
        在这里插入图片描述
        网上还有一种解决方案是

         curl  --data-urlencode "name=孙六"  --data-urlencode "id=4" --data-urlencode "gender=女" localhost:8080/install
        

        在Windows系统下还是服务器接受到的还是会乱码,因为在cmd中默认的是GB2312编码对中文字符进行url编码处理,如 “孙六” 转为url编码后为**%CB%EF%C1%F9** ,而不是**%E5%AD%99%E5%85%AD**,所以哪怕Spring boot的接受处理utf-8,数据库和表的字符集也是utf-8,依然没办法解决,目前除了手动转码再传递数据没有找到更好的解决方案了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值