Assuming the media type of both requests is the same and the response HTTP status codes differs this should be legit:
# PUT /asdf
+ Request Empty (application/json)
+ Headers
Content-Lenght: 0
+ Response 400
+ Request With Value (application/json)
{ "value": "somthing" }
+ Response 204