zoukankan      html  css  js  c++  java
  • RSS阅读器“阅读原文”报错400

    问题

      使用SpringMVC框架,实现了RSS订阅,在FoxMail的RSS订阅页面,点击【阅读原文】,报错400 。

      每个RSS文章的链接是:https://jiashubing.cn/forum/details?id=211。最后的数字是长整型,每篇文章都不一样

      这个链接直接在浏览器中是可以打开的,但是在RSS阅读页面,点击【阅读原文】,会直接报错400。在本地进行调试打断点,发现并不能走进对应的Controller方法

    HTTP Status 400 -
    type Status report
    message
    description The request sent by the client was syntactically incorrect.

    分析

      对于这个错误,首先考虑的就是传递参数的错误,或许是参数名不对,或许是参数类型不能转换。
      我的参数只有一个id,类型是Long。参数名是不会错的,那参数类型是不是错了呢?

      尝试将参数类型改成String,发现方法是进去了,但是这个参数的值却多了一个奇怪的后缀。
      211?foxhandler=RssReadRenderProcessHandler

      看来通过FoxMail的RSS阅读器,点击【阅读原文】,是默认会添加上 "?foxhandler=RssReadRenderProcessHandler" 这个后缀的,这样自然不能转换成Long类型了

    解决

      我的方法很简单,重新建一个请求,参数为String,过滤到多余的后缀以后,再重定向到展示页面

    RequestMapping("/rss/details")
    public String loadRssDetails(String id) {
        id = id.substring(0, id.indexOf('?'));
        return "redirect:/forum/details?id=" + Long.parseLong(id);
    }

    原创文章,欢迎转载,转载请注明出处!

  • 相关阅读:
    C语言基础学习8:指针数组
    C语言基础学习7:返回指针值的函数
    C语言基础学习6: 指向函数的指针
    C语言基础学习5:字符串与指针
    C语言基础学习4:数组与指针
    C语言基础学习3:指针
    python 入门 之二 列表 元组 字典 字符串 集合的定义及基本操作
    python入门之路 一
    whl格式 和egg格式
    python 连接mongodb ,并将EXCEL文档导入mongodb
  • 原文地址:https://www.cnblogs.com/acm-bingzi/p/rss400.html
Copyright © 2011-2022 走看看