Springboot接受json格式参数
关于springboot接受json参数
-
今天在进行修改博客的时候突然发现保存功能出错,只能保存一部分数据,于是查看提交的请求时发现,在图片路径有非法字符,因为最开始为了省事使用的是
"id=" + "xxx"
来进行提交的,这样的提交方式,如果在参数中存在&、?等等就会出错,后来将请求的参数改为了json格式 -
如下
//ajax发送请求;
$.post(
"/admin/savecontent",
{id : idObj.val(),content : contentObj.val()},
function (result) {
if (result == "success"){
alert("保存成功!");
}else{
alert("保存失败");
}
},
"text"
);
-
如此请求是可以正常发送了,但是在后台不能再用之前的方式进行接收参数了,可以改为以下方式:
//保存博客
@RequestMapping(value = "/savecontent", method = RequestMethod.POST)
public @ResponseBody String saveContent(@RequestParam("id") Long id,@RequestParam("content") String content){}
这样就可以获取到前台传入的json格式的参数了
-
那么这个@ RequestParam注解有什么用呢
@RequestParam:将请求参数绑定到你控制器的方法参数上(是springmvc中接收普通参数的注解)
语法:@RequestParam(value=”参数名”,required=”true/false”,defaultValue=””)
value:参数名
required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错。
defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false,如果没有传该参数,就使用默认值