It looks like you are reading the input stream before passing it to process(). In that case, it's necessary to reset the position in the stream to 0.
Something like this might also happen if you try to open the backend API URL (which expects the JSON message in the body) directly in the browser.