SpringCloud
2018-04-13
2018-04-13
在看教程的时候发现,平时使用springMVC习惯不加注解。会在springCloud中引起大麻烦
基于微服务的四大基本原则:
基于AFK拆分原则
无状态服务
前后分离
基于Restful API接口
其中由于是基于Restful 接口,所以不指定@RequestMapping的提交方式是不行的
并且交给SpingMVC自动推断属性名也是不行的 @RequestParam(value=”xxx”) (省略写法 @RequestParam(”xxx”))是必须的
以前写controller层的时候都是默认带上 @RequestParam 的, 今天发现不加 @RequestParam 也能接收到参数
如果要@RequestParam为一个int型的数据传值,假如前端并未输入,那么将会为int型的数据赋值为null。
显然,这是不允许的,直接报错。
可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传
下面我们来区分一下加与不加的区别
这里有两种写法
"/list") ( |
当然你还可以设置里面的defaultValue的属性
如下:
"/list")
public String test(@RequestParam(defaultValue="0") Long parentId) {
.....
}
(
这样在地址里面也可以不带参数,如果带了参数会接收,不带参数会默认为0
里面还有一个value属性也讲一下, 前面所有的方法 传入的参数必须为parentId 才能接收到值
但是如果你加了value属性
"/list")
public String test(@RequestParam(value="id") Long parentId) {
..
}
(
这样会用id 代替parentId 也就是说你地址里面传入的参数名称为id localhost:8080/list?id=? 这种