Java后台如何接收数据(url、form-data与application/json)呢?
java中发送和接收数据的方式
传参方式: url传参 form_data方式传输 json数据传输 注解获取方式: @RequestParam @RequestBody @PathVariable
url传参
/** * 请求路径:http://localhost:8080/hello/test/88/maomao */ @PostMapping("show5/{id}/{name}") public void test5(@PathVariable("id") Long ids, @PathVariable("name") String names){ }
form_data方式传输
@PostMapping("/add/user") public JSONObject addUser(User param){ return userService.addUser(param); }
字段接收-形参
/** * @RequestParam() 里边的值必须要和前端传递过来的参数名字相同 */ @PostMapping public String testUser(@RequestParam("name") String a, @RequestParam("phone") String b, String password){ return "ok"; }
json数据传输
@PostMapping("/add/user") public JSONObject addUser(@RequestBody User param){ return userService.addUser(param); }
@PostMapping("/test") public void test(@RequestParam(required = true)String name) { }
@RequestBody
功能: 接收前端传递的Json对象的字符串 请求体中数据 Post请求,GET方式无请求体 使用@RequestBody接收数据时 前端不能使用GET方式提交数据
@PathVariable
功能: 接收请求路径中占位符的值
Get路径请求
语法:@RequestMapping(value=”user/{userId}/{userName}”) 例: /** * 请求路径:http://localhost:8080/hello/show5/88/maomao */ @PostMapping("show5/{id}/{name}") public void test5(@PathVariable("id") Long ids, @PathVariable("name") String names){ }
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开头的媒体格式类型: application/xhtml+xml :XHTML格式 application/xml: XML数据格式 application/atom+xml :Atom XML聚合格式 application/json: JSON数据格式 application/pdf:pdf格式 application/msword : Word文档格式 application/octet-stream : 二进制流数据(如常见的文件下载) application/x-www-form-urlencoded : 中默认的encType form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据格式) 另外一种常见的媒体格式是上传文件之时使用的 multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式 formdata: 常用有两种: application/x-www-form-urlencoded 和 multipart/form-data 默认为application/x-www-form-urlencoded multipart/form-data:既可以上传文件等二进制数据, 也可以上传表单键值对,只是最后会转化为一条信息; x-www-form-urlencoded:只能上传键值对,并且键值对都是间隔分开的 json: application/json: JSON数据格式 将数据进行序列化的一种方式 后端可以直接使用
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。