我想在服务器上更新文件。用户可以输入数据并向服务器发送请求以更新文件内容。对于非空字符串,代码可以工作,但是当用户输入空字符串时,我会得到异常。
angularJS code
$http.put("app/rest/updateMsg",fileContent)
Spring controller code
@RequestMapping(value = "/updateMsg", method = RequestMethod.PUT)
public ResponseEntity<Boolean> updateMsg(@RequestBody String fileContent){
//update file code
}
我找到了解决方法。我明确地将filecontent设置为&#34; &#34;当它是空的时候(&#34;&#34;)。
还有其他解决办法吗?
答案 0 :(得分:0)
如果我正在设计一个真正想要发送空体的客户端,我会传递Content-Length:0。实际上,根据一个人对POST和PUT方法定义(RFC 2616 9.5,9.6)的读取,可能会认为身体被暗示是必需的 - 但是处理没有身体的合理方式是假设一个零长度的身体。
从语义上讲,PUT请求应该有主体,即使它们是空的。摘录自here