springboot传入json和文件_[SpringBoot] 在Controller中使用java对象接受前端传来的json数据...

对于后端接口,可以添加@RequestBody注解,也可以不添加。

添加@RequestBody注解

后端

首先第一步,需要添加 @RequestBody 注解。代码如下,可能有小伙伴找不到,@RequestBody是放在方法参数中的。

@RequestMapping("/upload")

@ResponseBody

public String upload(@RequestBody Job job) {

System.out.println(job);

return "Success";

}

复制代码

添加了这个注解后,后端就可以接收到前端传来的json数据了。

前端

但需要注意的是:

Postman

如果是在Postman中进行测试,需要将json数据写在Body中,且设置类型为Json,而不是将参数放在Params中,如图:

JavaScript

同理,如果是JS的代码,则需要在ajax中设置数据类型为JSON。

不添加@RequestBody注解

后端

如果不添加注解,则后端代码如下,其实就只是把注解删了,其他地方都没变:

@RequestMapping("/upload")

@ResponseBody

public String upload(Job job) {

System.out.println(job);

return "Success";

}

复制代码

Postman的一些设置

如果不添加注解,则使用Body中的form-data进行参数设置,如下图。

通过form-data设置参数的好处是,可以同时传文件。

实体类中Get Set方法的添加

到这一步,可能有的小伙伴还是说,接受到的对象中的数据为null,就像下面的代码一下。

Job{id=0, introduction='null', status='null', dataSetId=0}

复制代码

这是因为SpringBoot依赖于get set函数做映射。

public long getId(){

return id;

}

public void setId(long id){

this.id = id;

}

复制代码

为实体类添加get set函数后,接受前端json数据的工作就完成了。

Job{id=0, introduction='test', status='22', dataSetId=0}

复制代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值