Java后台如何接收数据(url、form-data与application/json)呢?

欣喜 Java经验 发布时间:2024-02-18 10:22:08 阅读数:7304 1

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数据格式
    将数据进行序列化的一种方式
    后端可以直接使用
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202402/17082229647971.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者