springmvc教程-@RequestBody 接收Json格式数据

说明

前端使用 POST 方式发送 json 格式数据,并且指定 Content-Type是:

Content-Type: application/json;charset=utf-8

springmvc接收数据时,形参需要 对象类型,且由 @RequestBody 注解修饰

例子

jquery

详见:
https://www.malaoshi.top/show_1IX71XNeq3C3.html

axios

以 post 方法发请求时,默认就是提交 Json 格式数据,详见:

https://www.malaoshi.top/show_1IXIZt4apDp.html

java

@RestController
@Slf4j
public class NoticeController {
    @PostMapping(value="/sendNotice")
    public CommonResult sendNotice(@RequestBody Notice notice){
        noticeService.sendNotice(notice);
        log.info(String.format("%s 向 %s 发送通知成功!",notice.getFromUserid(),notice.getToUserid()));
        return new CommonResult(200,"成功!");
    }
}
package top.malaoshi.entities;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Notice implements Serializable {
    private String id;
    private String fromUserid;
    private String toUserid;
    private String msg;
}
package top.malaoshi.json;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * json封装类
 * 将执行成功、失败的信息封装成类,返回给前端json
 * @param <T>
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CommonResult<T>{
    private Integer code;
    private String msg;

}

发送请求

postman

注意: 上图中传递的是json格式

axios

post 默认提交方式,详见下面链接:
https://www.malaoshi.top/show_1IXIZt4apDp.html

jquery

使用较少,下面代码微测试

$.ajax(
    type:"POST",
    url:"test",
    data:'{"id":"12","name":"小明"}'
    success:function(msg){alert(msg);}
    contentType:"application/json;charset=utf-8" //关键
)

微服务

A 服务器 调用 B服务,传递json数据


原文出处:/show_1EF5hAdgyMTy.html