java框架前后端数据交互_springboot的学习之前后端数据交互

现在大多数互联网项目都是采用前后端分离的方式开发,前端人员负责页面展示和数据获取,后端负责业务逻辑处理和接口封装。当与前端交互的过程当中,都是用json数据与前端进行交互,这样想取出前端传送过来的json数据的时候,就需要用到@RequestBody这个注解。@RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容转换为json、xml等格式的数据并绑定到controller方法的参数上。

1.后台用@RequestBody接收参数,从名称上来看也就是说要读取的数据在请求体里,所以要发post请求。前端必须指定请求json数据的contentType为:application/json,否则会报类型不支持的异常错误“org.springframework.web.HttpMediaTypeNotSupportedException”。

f18c9b73ca522b2e5cb6674082d4a921.png

2.如何定义后台接收参数“能映射上去”呢?若是json中的key在实体中都能找到对应的field,那么就是“能映射上去”,也就是说:前台传入的json中的key在实体中必须要存在,不然就会报错,其实要使用@RequestBody这个注解还需要额外配置一个Bean,也就是自动帮我们接收json并转成对象的消息转换器MappingJacksonHttpMessageConverter,需要加入jackson的包依赖

com.fasterxml.jackson.core

jackson-core

2.8.1

3.后端接收到前端的数据,如果想对前端的数据进行校验,可以加入springboot的Validate 功能依赖包

org.hibernate

hibernate-validator

使用只需要在接收数据的实体上加上@Valid注解,BindingResult接收错误的不合法的提示信息

d9c6967f42de8374d4b938c6d5c01dcc.png

接收参数的实体的属性上还需要加校验的注解@NotEmpty(message="密码不能为空")

93ab55a3417e7efbe373a2ce7ec3cd41.png

还可以使用正则表达式对属性进行校验。只需要加入以下注解即可:

@Pattern(

regexp = 正则表达式,

message = "输入格式不合法"

)

4.当后端接收完前端的数据,响应一般也是返回json数据给前端,此时只需要在后端控制器Contoller类加上@ResponseBody即可。该注解用于将Controller的方法返回的对象,通过HttpMessageConverter接口转换为指定格式的数据如:json,xml等,通过Response响应给客户端。@Controller 与 @ResponseBody 结合使用返回json数据给前端,我们还可以使用@RestController替换他们,从而使代码更加的精简。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值