问题

  使用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);
}

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

RSS阅读器“阅读原文”报错400的更多相关文章

  1. svn报错 400 Bad Request

    MyEclipse中的svn,commit经常报错 Error: Commit failed (details follow):  Error: At least one property chang ...

  2. ajax 调用 .net core WebAPI,报错 400 (Bad Request) Unexpected character encountered while parsing value

    此文由博主前两天的提问及 dudu 的回答整理,地址:https://q.cnblogs.com/list/myquestion 情况说明 基于 .net core 写了一个 Web API,用 po ...

  3. docker升级后启动报错400 Client Error: Bad Request ("Unknown runtime specified docker-runc")

    宝塔面板docker升级后启动容器时报错400 Client Error: Bad Request ("Unknown runtime specified docker-runc" ...

  4. Vue上传通过“服务端签名后直传”上传文件到阿里云 报错 400 Bad Request

    我报错的原因是 formData.append('file', file) 放在签名前面了 解决办法 formData.append('file', file) 一定在最后 /** * 上传文件到 o ...

  5. vue项目打包后运行报错400如何解决

    昨天一个Vue项目打包后,今天测试,发现无论localhost还是服务器上都运行不了,报错如下: Failed to load resource: the server responded with ...

  6. react-native 中使用redux 优化 Connect 使用装饰器简化代码报错

    报错信息 error: bundling failed: Error: The 'decorators' plugin requires a 'decoratorsBeforeExport' opti ...

  7. Scrapy payload 报错400

    首先Scrapy 发送payload请求格式如下: def start_requests(self): querystr = { "ctoken": "U-ang1zmp ...

  8. tomcat8 url包含|等特殊字符报错400的问题

    这个问题纠缠了我很久了,终于在今天早上解决了,感谢自己的不放弃和不断尝试的决心,我坚信,我可以找到解决方式!! 项目用的spring .spring mvc.hibernate框架,关于统一错误页面在 ...

  9. tomcat8踩坑:url包含|等特殊字符报错400的问题

    这个问题纠缠了我很久了,终于在今天早上解决了,感谢自己的不放弃和不断尝试的决心,我坚信,我可以找到解决方式!! 项目用的spring boot+spring security框架,关于统一错误页面在开 ...

随机推荐

  1. Summer sell-off CodeForces - 810B (排序后贪心)

    Summer holidays! Someone is going on trips, someone is visiting grandparents, but someone is trying ...

  2. 【转】linux if 判断

    UNIX Shell 里面比较字符写法: -eq   等于-ne    不等于-gt    大于-lt    小于-le    小于等于-ge   大于等于-z 空串=    两个字符相等!=    ...

  3. Python之加密模块

    hashlib模块 加密方式以md5方式加密举例 是标准模块,直接导入即可 还有其他的加密方式,比如:.sha1()..sha224()..sha256()等,加密后的字符串长度更长,安全性更高 一. ...

  4. JavaScript对象访问器属性

    对象访问器就是setter和getter,他们的作用就是 提供另外一种方法来获取或者设置对象的属性值, 并且在获取和设置的时候,可以用一定的其他操作. 看下面代码: <script> va ...

  5. 【学习总结】C-翁恺老师-入门-第0周<程序设计与C>

    [学习总结]C-翁恺老师-入门-总 1-首先按视频说的下载编辑器 <DevC++> 并一路默认设置: 安装包下载链接 (我有vc6.0不过预感告诉我老师要用类似CS50里那种命令行编辑器? ...

  6. zabbix使用jmx监控tomcat

    zabbix监控Tomcat/JVM实例性能(115) – 运维生存时间http://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/ zabbi ...

  7. PropertyChangeSupport 监听器模式的应用

    PropertyChangeSupport 类实现的监听器功能 ,它是java jdk自带的一个类,用于监听某个对象属性的改变来触发相应信息,具体看代码介绍 import java.beans.Pro ...

  8. Hbase存储流程

  9. SpringBoot之修改单个文件后立刻生效

    问题: 在使用SpringBoot进行开发时,如果修改了某个文件比如前端页面html,不能立刻起效. 解决: 在idea中打开修改后的文件,使用快捷键Ctrl+Shift+F9 进行重新编译,然后刷新 ...

  10. Java使用RabbitMQ之消息确认(confirm模板)

    RabbitMQ生产者消息确认Confirm模式,分为普通模式.批量模式和异步模式,本次举例为普通模式. 源码: package org.study.confirm4; import com.rabb ...