一、html的form是不支持put和delete的请求的,所以需要通过js的ajax请求完成。
前台html页面如下所示:
<div id="dlg" class="easyui-dialog" style="width:400px" data-options="closed:true,modal:true,border:'thin',buttons:'#dlg-buttons'">
<form id="fm" method="post" novalidate style="margin:0;padding:20px 50px">
<h3>分发信息</h3>
<div style="margin-bottom:10px">
<input name="host" class="easyui-textbox" required="true" label="分发主机名称:" style="width:100%">
</div>
<div style="margin-bottom:10px">
<input name="ip" class="easyui-textbox" required="true" label="分发IP:" style="width:100%">
</div>
<div style="margin-bottom:10px">
<input name="mode" class="easyui-textbox" required="true" label="主被动模式:" style="width:100%">
</div>
<div style="margin-bottom:10px">
<input name="user" class="easyui-textbox" required="true" label="用户名:" style="width:100%">
</div>
<div style="margin-bottom:10px">
<input name="passwd" class="easyui-textbox" required="true" label="密码:" style="width:100%">
</div>
<div style="margin-bottom:10px">
<input name="path" class="easyui-textbox" required="true" label="传输路径:" style="width:100%">
</div>
</form>
</div>
<div id="dlg-buttons">
<a id=savebtn href="#" class="easyui-linkbutton" iconCls="icon-ok" style="width:90px">保存</a>
<a id=closebtn href="#" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dlg').dialog('close')" style="width:90px">取消</a>
</div>
js请求代码如下:
$(function() {
$('#savebtn').click(function() {
var d = {};
d.id = fileid;
var t = $('#fm').serializeArray();
$.each(t, function() {
d[this.name] = this.value;
});
alert(JSON.stringify(d));
$.ajax({
url:'send/add',
type:"put",
contentType:"application/json",
dataType:"json",
data:JSON.stringify(d),
timeout:20000,
success:function(msg){
alert('success');
},
error:function(xhr,textstatus,thrown){
}
});
});
});
注意,拼接json字符串的语句,var d={},相当于:var d = new Object();
后台代码如下:
@ApiOperation(value="按照文件id增加一个发送对象",notes="根据文件id增加一个发送对象")
@ResponseBody
@PutMapping(value = "add")
public boolean insertsendinfobyid(@RequestBody Sendinfo sendinfo){
sendinfoservice.insertSendinfo(sendinfo);
return true;
}
这里,给接收参数添加了@RequestBody,这样就可以在请求中通过json调用了