HttpMessageNotReadableException Java Origin: Application & API Last updated 13 Oct 2026

HttpMessageNotReadableException: JSON parse error / Required request body is missing

Spring couldn’t read the request body into your @RequestBody object.

Exact message you may see JSON parse errorRequired request body is missing
Seen on: Java

Meaning

Malformed JSON, wrong types for fields, a missing body, or sending form data to a JSON endpoint.

Common causes

  • Invalid JSON
  • Field type mismatch (string vs number, date format)
  • Empty body on @RequestBody
  • Wrong Content-Type

⚡ Quick fix

  1. Validate the JSON payload
  2. Match field types and date formats
  3. Send Content-Type: application/json
  4. Make @RequestBody(required = false) if optional

Detailed fix by platform

Java

  1. Return 400 with the parse message via @ExceptionHandler(HttpMessageNotReadableException.class)

How to diagnose

  1. Body — Is it valid JSON?
  2. Types — Which field fails?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Application & API. Errors that are often confused with or caused by this one (click to open):

400 — HTTP 400 Bad Request (HTTP)400circular references — The dependencies of some of the beans in the application context form a cycle (Java)circular referencesDataSource url not specified — Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. (Java)DataSource url not sp…entity.parse.failed — API Error: Malformed JSON in request body (entity.parse.failed / JSON parse error) (API)entity.parse.failedInvalidDefinitionException — com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class X and no properties discovered (Java)InvalidDefinitionExce…is an invalid start of a value — System.Text.Json: '<' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0 (.NET)is an invalid start o…json_decode null — json_decode() returns null / JSON_ERROR_SYNTAX: Syntax error (PHP)json_decode nullJSONDecodeError — json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) (Python)JSONDecodeErrorHttpMessa…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.