diff --git a/proxmox-rest-server/src/rest.rs b/proxmox-rest-server/src/rest.rs index 0ee9fabc..2ccd4d51 100644 --- a/proxmox-rest-server/src/rest.rs +++ b/proxmox-rest-server/src/rest.rs @@ -349,7 +349,12 @@ async fn get_request_parameters( std::str::from_utf8(&body).map_err(|err| format_err!("Request body not uft8: {}", err))?; if is_json { - let mut params: Value = serde_json::from_str(utf8_data)?; + // treat empty body as empty paramater hash + let mut params: Value = if utf8_data.is_empty() { + Value::Object(serde_json::Map::new()) + } else { + serde_json::from_str(utf8_data)? + }; for (k, v) in uri_param { if let Some((_optional, prop_schema)) = param_schema.lookup(&k) { params[&k] = prop_schema.parse_simple_value(&v)?;