博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springmvc 参数注解
阅读量:7061 次
发布时间:2019-06-28

本文共 1295 字,大约阅读时间需要 4 分钟。

hot3.png

@RequestParam 

A) 常用来处理简单类型的绑定,通过Request.getParameter() 获取的String可直接转换为简单类型的情况( 由String到 简单类型的转换操作由ConversionService配置的转换器来完成);因为使用request.getParameter()方式获取参数,所以可以处理get 方式中queryString的值,也可以处理post方式中 body data的值。
B)用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容,提交方式GET、POST。(不设置这个属性,好像这就是默认值)
C) 该注解有两个属性: value、required; value用来指定要传入值的id名称,required用来指示参数是否必须绑定。

在方法参数里面如是:public @ResponseBody JsonResult getPublishedToposByConnStreamId(@RequestParam(value = "streamId", required = false) String streamId) {}

@RequestBody

A) GET、POST方式提时, 根据request header Content-Type的值来判断:
    application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的数据@RequestParam, @ModelAttribute也可以处理,当然@RequestBody也能处理);
    multipart/form-data, 不能处理(次类型多用来上传文件类型---即使用@RequestBody不能处理这种格式的数据,@RequestParam这个却是可以处理的。);
    其他格式, 必须(其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理);
 

B) PUT方式提交时, 根据request header Content-Type的值来判断:(表示没见过put方式滴,可以无视吧。)

    application/x-www-form-urlencoded, 必须;
    multipart/form-data, 不能处理;
    其他格式, 必须;

注意

说明:request的body部分的数据编码格式由header部分的Content-Type指定;

@RequestBody这个一般处理的是在ajax请求中声明contentType: "application/json; charset=utf-8"时候。也就是json数据或者xml(我没用过这个,用的是json)

@RequestParam这个一般就是在ajax里面没有声明contentType的时候,为默认的。。。urlencode格式时,用这个。

转载于:https://my.oschina.net/ferchen/blog/1512266

你可能感兴趣的文章
yarn.resourcemanager.ha.id设置
查看>>
主动调用其他类的成员, 特殊成员
查看>>
vim操作
查看>>
ASUS主板ALC887声卡,RTL81XX网卡,黑苹果驱动安装
查看>>
POJ 2251 Dungeon Master (三维BFS)
查看>>
C# 怎样判断 datagridview 中的checkbox列是否被选中
查看>>
嵌入式系统中地址的概念
查看>>
Linux 驱动编程知识
查看>>
网络基础, 进度条, 计算文件大小, shutil模块,
查看>>
Entity Framework 4 in Action读书笔记——第四章:使用LINQ to Entities查询:投影结果...
查看>>
新春快乐
查看>>
django框架的基础知识点《叁》
查看>>
面试题:数据库 已看1 各种优化 数据库引擎 有用
查看>>
html --- rem 媒体查询
查看>>
分享一下自己用c++写的小地图
查看>>
马尔可夫模型
查看>>
bzoj 1697: [Usaco2007 Feb]Cow Sorting牛排序
查看>>
js面向对象编程
查看>>
Tensorflow serving的编译
查看>>
JAVA API----Math类和Random类
查看>>