木鱼Gavin 2021-04-20 14:09 采纳率: 0%
浏览 12

spring中大家一般什么时候用get类型的请求? 我发现一旦使用get请求的时候,如果参数带有特殊

spring中大家一般什么时候用get类型的请求? 我发现一旦使用get请求的时候,如果参数带有特殊字符就报错。 难道每次使用GET类型的请求,都要在前台把参数进行encode,然后后台再decode? 这样太麻烦了吧?那我还不如直接使用post来的省事呢
  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-07-15 22:39
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    在Spring中,一般使用GET请求来获取资源或者查询数据,尤其是在RESTful API设计中经常会使用GET请求。GET请求通常用于读取数据而不会改变服务器的状态,因此对于一些仅需获取数据的操作,使用GET请求比较合适。 在使用GET请求时,确实需要注意参数的编码问题。特殊字符如空格、中文、特殊符号等在URL中需要进行编码,否则可能会导致解析错误。因此,前端需要对参数进行编码,后台需要对接收到的参数进行解码。 以下是一个简单的例子,演示前端对参数进行编码,后台对参数进行解码的过程: 前端代码:
    var searchKey = "特殊字符";
    var encodedKey = encodeURIComponent(searchKey);
    var url = "http://example.com/search?key=" + encodedKey;
    fetch(url)
      .then(response => response.json())
      .then(data => console.log(data));
    

    后台代码:

    @GetMapping("/search")
    public String search(@RequestParam String key) {
        String decodedKey = URLDecoder.decode(key, "UTF-8");
        // 处理解码后的参数
        return "success";
    }
    

    虽然在使用GET请求时需要对参数进行编解码有一定的麻烦,但GET请求相对于POST请求来说更加简单和直观,且在一些场景下更为合适。因此,根据具体的业务需求和实际情况来选择GET或者POST请求。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Linux权限管理相关操作(求解答)
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表
  • ¥15 DbVisualizer Pro 12.0.7 sql commander光标错位 显示位置与实际不符
  • ¥15 求一份STM32F10X的I2S外设库
  • ¥15 android 打包报错
  • ¥15 关于stm32的问题
  • ¥15 ncode振动疲劳分析中,noisefloor如何影响PSD函数?