Java后台接收数据的三种方式(url、form.docx

Java后台接收数据的三种方式(url、form.docx

Java后台接收数据的三种方式(url、form

目录url传参的方式以form_data方式传输以json数据传输注解@RequestParam@RequestBody@PathVariableformdata和json的区别关于post请求能用@pathVariable注解的尝试

url传参的方式

/**

*请求路径:http://localhost:8080/hello/show5/1/james

@PostMapping(show5/{id}/{name})

publicvoidtest5(@PathVariable(id)Longids,@PathVariable(name)Stringnames){

}

以form_data方式传输

@PostMapping(/add/user)

publicJSONObjectaddUser(Userparam){

returnuserService.addUser(param);

}

字段接收-形参

/**

*@RequestParam()里边的值必须要和前端传递过来的参数名字相同

@PostMapping

publicStringtestUser(@RequestParam(name)Stringa,@RequestParam(phone)Stringb,Stringpassword){

returnok;

}

以json数据传输

@PostMapping(/add/user)

publicJSONObjectaddUser(@RequestBodyUserparam){

returnuserService.addUser(param);

}

其实还有一种以前用过的请求方式:HttpServerletRequest.getParameter(name),不常用

注解

@RequestParam

作用:将指定的请求参数赋值给方法中的形参

指定的参数可以是普通元素、数组、集合、对象等等一个请求》可以有多个@RequestParam

语法:@RequestParam(value=参数名,required=true/false,defaultValue=)

value:参数名

required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错。

defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false,如果没有传该参数,就使用默认值

示例:

@PostMapping(/test)

publicvoidtest(@RequestParam(required=true)Stringname){

}

@RequestBody

作用:接收前端传递的Json对象的字符串。(请求体中的数据)

Post请求,GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据一个请求》只有一个@RequestBody

@PathVariable

作用:接收请求路径中占位符的值。

Get路径请求

语法:@RequestMapping(value=”user/{userId}/{userName}”)

*请求路径:http://localhost:8080/hello/show5/1/james

@PostMapping(show5/{id}/{name})

publicvoidtest5(@PathVariable(id)Longids,@PathVariable(name)Stringnames){

}

formdata和json的区别

Content-Type(内容类型)

语法格式:

Content-Type:text/html;charset=utf-8

Content-Type:multipart/form-data;boundary=something

常见的媒体格式类型:

text/html:HTML格式text/plain:纯文本格式text/xml:XML格式image/gif:gif图片格式image/jpeg:jpg图片格式image/png:png图片格式

以application开头的媒体格式类型:

applic

文档评论(0)

1亿VIP精品文档

相关文档