【问题标题】:Getting 400 bad Request with Tomcat 8.5.9 [duplicate]使用 Tomcat 8.5.9 获取 400 个错误请求 [重复]
【发布时间】:2018-03-15 23:50:01
【问题描述】:

我是 tomcat 服务器技术的新手。目前我正在开发spring boot应用程序,我尝试使用在后台运行的tomcat服务器(低于8.5v)调用下面的api,我得到了预期的响应。但是,当我尝试使用在后台运行的 tomcat server 8.5.9v 调用相同的 api 时,我收到了 400 错误请求。

http://localhost:8080/TestRest/ExtractTest?jsonString={"extract": {"Type":"veswanth", "objects":[{"object":"WTT"}]}}

在日志文件中我发现了以下问题

service Error parsing HTTP request header 注意:进一步出现 HTTP 标头解析错误将在 DEBUG 级别记录。 java.lang.IllegalArgumentException:在 请求目标。有效字符在 RFC 7230 和 RFC 中定义 3986

如果做错了什么,请帮助我解决这个问题并纠正我..

【问题讨论】:

  • 你需要对 JSON 进行编码,试试 encodeURIComponent()

标签: java api tomcat spring-boot


【解决方案1】:

您不能以这种方式在 url 中传递 json 数据。您需要在正文中传递它,请求方法应该是 POST。

你可以参考这个: How to pass a JSON array as a parameter in URL

【讨论】:

  • 我在邮递员中使用 GET 方法,所以有没有其他方法只使用 GET 方法
  • 是的,您可以使用 GET 方法,但为此您需要根据定义的标准更改 URL 参数。参考链接“stackoverflow.com/questions/27577922/…”中已经说明了这样做的过程
猜你喜欢
  • 2017-11-27
  • 2013-06-30
  • 1970-01-01
  • 2019-12-07
  • 1970-01-01
  • 2021-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多