`
ranyut
  • 浏览: 255686 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

The request sent by the client was syntactically incorrect

阅读更多

解决 spring mvc 下post json出现HTTP Status 400 The request sent by the client was syntactically incorrect

 

当你觉得你的配置一切正常,并且无数次检查了请求json参数与javabean都是一致的,但就是报上面的错的时候,那你可能遇到跟我一样的问题。

 

跟踪Spring执行@RequestBody的过程发现底层的真实错误是:

 

org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: No content to map due to end-of-input
 at [Source: org.apache.catalina.connector.CoyoteInputStream@7abd6f93; line: 1, column: 1]; nested exception is com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input
 at [Source: org.apache.catalina.connector.CoyoteInputStream@7abd6f93; line: 1, column: 1]

 也就是没有内容,说明参数没有传进来。

 

 

实事上参数是有的,只不过参数是通过InputStream写入的,而在过滤器或执行@RequestBody之前的任何地方你可能从流中读出了json参数,而ServletStream是不可重复读的,所以当@RequestBody再从InputStream中读参数时就为空了。

 

知道原因了就好解决,inputStream不能重复读,但你又必须读多次怎么办?

解决办法:

request.getInputStream()只能获取一次的问题

 

 

 

分享到:
评论

相关推荐

    servlet2.4doc

    The doFilter method of the Filter is called by the container each time a request/response pair is passed through the chain due to a client request for a resource at the end of the chain. doGet...

    SSD7 选择题。Multiple-Choice

    (c) typing a syntactically correct SQL query that uses column and table names similar to the correct column and table names in a database (d) writing an English description of the data that the user...

    Hardware Design Based on Verilog HDL

    satisfy are also given, and can be used for the comparison of syntactically different programs. The thesis also presents a number of other results. The use of a temporal logic to specify the semantics...

    MIBBrowser8.rar

    the SNMP Trap and SNMP Inform packets that were sent from arbitrary SNMP devices or applications on the network. MIB Browser can monitor several SNMP devices simultaneously and contains features like...

    Design Concepts in Programming Languages

    The book's unique approach is based on a family of syntactically simple pedagogical languages that allow students to explore programming language concepts systematically. It takes as premise and ...

    Java 英文习题及答案

    Which of the following Java statements is syntactically correct and semantically identical to the program segment? (a) int[] arr= {15, 17, 19}; (b) int[3] arr = {15, 17, 19}; (c) int arr = {15, 17, ...

    UML(统一建模语言)---介绍

    Meta-model – model that describes another model, are the concepts that define a syntactically correct model. UML metamodel is defined using Meta Object Facility (MOF), a meta-metamodel that is ...

    Beginning CSS Preprocessors(Apress,2015)

    Learn how preprocessors can make CSS scalable and easy to maintain....What are the features of Sass (Syntactically Awesome Stylesheets) What is Compass (COMPrehensive ASSembler) What is Less (Leaner SS)

    Java.EE.and.HTML5.Enterprise.Application.Development

    Employ Syntactically Awesome Stylesheets, CSS3, and Sassy CSS Table of Contents Chapter 1 Introduction to Java EE and HTML5 Enterprise Development Chapter 2 Persistence Chapter 3 RESTful Resources ...

    Android代码-AQuery

    AQuery is a lightweight library that allows UI manipulation in a syntactically similar way to the Javascript library JQuery. AQuery aims to remove the boilerplate code that comes with UI manipulation ...

    快速JSON序列化Easyjson.zip

    such cases, so that they may be fixed sooner.Unsafe package is used by the code. While a non-unsafe version of easyjson can be made in the future, using unsafe package simplifies a lot of code by...

    《Oracle数据库编程指南》之11:运算符(Operators)

    Syntactically, an operator appears before or after an operand or between two operands. Operators manipulate individual data items called operands or arguments. Operators are represented by special ...

    在vue项目中使用sass语法问题

    Sass(英文全称:Syntactically Awesome Stylesheets)是一个最初由Hampton Catlin设计并由Natalie Weizenbaum开发的层叠样式表语言。在开发最初版本之后,Weizenbaum和Chris Eppstein继续通过SassScript来继续扩充...

    初入Sass

    **Sass** (Syntactically Awesome StyleSheets),是由buby语言编写的一款css预处理语言,和html一样有严格的缩进风格,和css编写规范有着很大的出入,是不使用花括号和分号的,所以不被广为接受。 Sass 是一款强化 ...

    sass简介_动力节点Java学院整理

    Sass 是Syntactically Awesome Stylesheete Sass的缩写,是由Hampton Catlin开发的。 Sass可以简化你的Css工作流,并可以使你的Css的扩展和维护工作变的更加容易! 例如,曾几时何,因为客户的需求的变更,你必须...

    在create-react-app中使用sass的方法示例

    Sass(英文全称:Syntactically Awesome Stylesheets)是一个最初由Hampton Catlin设计并由Natalie Weizenbaum开发的层叠样式表语言。Sass是一个将脚本解析成CSS的脚本语言,即SassScript。Sass包括两套语法。最开始...

    Django中如何使用sass的方法步骤

    作为一个运维开发,不像业务开发只专注后端业务开发即可,常常需要自己来构建前端的东西,当然系统交互体验说的过去就行,要求也没有业务系统...Sass or (Syntactically awesome style sheets) is a preprocessor scri

Global site tag (gtag.js) - Google Analytics