美文网首页
spring boot前后台交互

spring boot前后台交互

作者: 摆渡_猫 | 来源:发表于2018-02-27 16:06 被阅读0次

1.普通数据类型(get请求)加@resquestParam注解,代码如下

@GetMapping("/detail")

public ResponsegetBasePrice(@RequestParam String id) {

    BasePrice price =basePriceService.queryBaseById(id);

    return returnSuccess(price);

}

get请求如图片所示

2.普通数据类型(post请求)加@resquestBody注解,代码如下

@PostMapping("/price")

public ResponsemodifyPrice(@RequestBody BasePrice basePrice) {

    basePriceService.modifyPriceById(basePrice);

    return returnSuccess();

}

post请求如图片所示

3.如果传递到后台的是json数组,前后台应该这样写

@PostMapping("/add")

public ResponseaddBasePrice(@RequestBody List basePrice) {

    basePriceService.addBasePrice(basePrice);

    return returnSuccess();

}

json数组请求如图片所示

@RequestParam

A) 常用来处理简单类型的绑定,通过Request.getParameter() 获取的String可直接转换为简单类型的情况( 由String到 简单类型的转换操作由ConversionService配置的转换器来完成);因为使用request.getParameter()方式获取参数,所以可以处理get 方式中queryString的值,也可以处理post方式中 body data的值。

B)用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容,提交方式GET、POST。

C) 该注解有两个属性: value、required; value用来指定要传入值的id名称,required用来指示参数是否必须绑定。

@RequestBody

A) GET、POST方式提交时, 根据request header Content-Type的值来判断:

application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的数据@RequestParam, @ModelAttribute也可以处理,当然@RequestBody也能处理);

multipart/form-data, 不能处理(次类型多用来上传文件类型---即使用@RequestBody不能处理这种格式的数据,@RequestParam这个却是可以处理的。);

其他格式, 必须(其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理);

B) PUT方式提交时, 根据request header Content-Type的值来判断:(表示没见过put方式滴,可以无视吧。)

application/x-www-form-urlencoded, 必须;

multipart/form-data, 不能处理;

其他格式, 必须;

说明:request的body部分的数据编码格式由header部分的Content-Type指定;

相关文章

网友评论

      本文标题:spring boot前后台交互

      本文链接:https://www.haomeiwen.com/subject/qwqmxftx.html