SSM系列——SpringMVC请求数据day3-3

 我来答
猪八戒网
2024-09-19 · 百度认证:重庆猪八戒网络有限公司官方账号
猪八戒网
猪八戒网(zbj.com)创建于2006年,现已形成猪八戒网、天蓬网和线下八戒工场的“双平台+一社区”服务模式,是中国领先的人才共享平台。
向TA提问
展开全部
SSM系列——SpringMVC请求数据SpringMVC请求参数

一般我们有:

基本类型参数

POJO类型参数

数组类型参数

集合类型参数

Http请求方式方法说明get请求指定的页面信息,并返回实体主体post向指定资源提交数据进行处理请求(例如提交表单或上传文件)。数据被包含在请求体中,POST请求可能会导致新的资源建立或已有资源修改head类似于GET请求,只不过返回的响应中没有具体内容,用于获取报头options允许客户端查看服务器的内容put从客户端向服务器传送的数据取代指定的文档内容delete请求服务器删除指定页面trace回显服务器收到的请求,主要用于测试或诊断connectHTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器5种Web开发的常见状态码及含义

1)200

表示服务器成功的表示服务器成功处理了客户端的请求。客户端的请求成功,响应消息返回正常的请求结果。

(2)302

表示请求的资源临时从不同的URI响应请求,但请求者应继续使用原有位置来进行以后的请求。例如,在请求重定向中,临时URI应该是响应的Location头字段所指向的资源。

(3)304

状态码304表示客户端缓存的版本是最新的,客户端应该继续使用它。否则,服务器将使用状态码200返回所请求的文档

(4)404

表示服务器找不到请求的资源。

(5)500

表示服务器发生错误,无法处理客户端的请求。

1. 基本类型参数请求RequestControllerpackage?com.example.mvc1.controller;import?com.example.mvc1.pojo.DataPojo;import?org.springframework.web.bind.annotation.GetMapping;import?org.springframework.web.bind.annotation.ResponseBody;import?org.springframework.web.bind.annotation.RestController;@RestControllerpublic?class?RequestController?{????@GetMapping("req1")????@ResponseBody????public?void?req1(String?enter){????????System.out.println(enter);????}}

结果展示

2. POJO类型参数请求DataPojopackage?com.example.mvc1.pojo;public?class?DataPojo?{????private?int?id;????private?String?name;????public?DataPojo(int?id,?String?name)?{????????this.id?=?id;????????this.name?=?name;????}????public?DataPojo()?{????}????public?int?getId()?{????????return?id;????}????public?void?setId(int?id)?{????????this.id?=?id;????}????public?String?getName()?{????????return?name;????}????public?void?setName(String?name)?{????????this.name?=?name;????}????@Override????public?String?toString()?{????????return?"DataPojo{"?+????????????????"id="?+?id?+????????????????",?name='"?+?name?+?'\''?+????????????????'}';????}}

RequestControllerpackage?com.example.mvc1.controller;import?com.example.mvc1.pojo.DataPojo;import?org.springframework.web.bind.annotation.GetMapping;import?org.springframework.web.bind.annotation.ResponseBody;import?org.springframework.web.bind.annotation.RestController;@RestControllerpublic?class?RequestController?{????@GetMapping("req2")????@ResponseBody????public?void?req2(DataPojo?dataPojo){????????System.out.println(dataPojo.toString());????}}

结果展示

3. 数组类型参数请求RequestController?@GetMapping("req3")????@ResponseBody????public?void?req3(String[]?str)?{????????for?(String?s?:?str)?{????????????System.out.println(s);????????}????}

结果展示

4. 集合类型参数请求(原始)

使用场景上比较多见如前端传递集合类型如

{????username:'zhangsan'????job:[????????{????????????id:1,????????????name:'司机'????????},????????{????????????id:2,????????????name:'保安'????????}????????{????????????id:3,????????????name:'老师'????????}????]}

RequestController@GetMapping("req4")????@ResponseBody????public?void?req4(ObReq?obReq)?{????????obReq.toString();????}

ObReqpackage?com.example.mvc1.pojo;import?java.util.List;public?class?ObReq?{????private?String?username;????private?List<Job>?list;????public?ObReq(String?username,?List<Job>?list)?{????????this.username?=?username;????????this.list?=?list;????}????public?ObReq()?{????}????public?String?getUsername()?{????????return?username;????}????public?void?setUsername(String?username)?{????????this.username?=?username;????}????public?List<Job>?getList()?{????????return?list;????}????public?void?setList(List<Job>?list)?{????????this.list?=?list;????}????@Override????public?String?toString()?{????????return?"ObReq{"?+????????????????"username='"?+?username?+?'\''?+????????????????",?list="?+?list?+????????????????'}';????}}

Jobpackage?com.example.mvc1.pojo;public?class?Job?{????private?int?id;????private?String?name;????public?Job(int?id,?String?name)?{????????this.id?=?id;????????this.name?=?name;????}????public?Job()?{????}????public?int?getId()?{????????return?id;????}????public?void?setId(int?id)?{????????this.id?=?id;????}????public?String?getName()?{????????return?name;????}????public?void?setName(String?name)?{????????this.name?=?name;????}}

集合类型参数请求(指定contentType)

在使用Ajax时我们可以指定contentType为json形式,我们配合@RequestBody注解这样就可以直接接收 而现在我们多用axios,axios中默认就是json形式的所以无需设置 直接使用@RequestBody

  • 官方电话
  • 官方服务
    • 官方网站
    • 八戒财税
    • 知识产权
    • 八戒服务商
    • 企业需求
    • 数字市场
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式